PeTar
N-body code for collisional gravitational systems
|
#include <cassert>
#include <immintrin.h>
Go to the source code of this file.
Classes | |
class | PhantomGrapeQuad |
Macros | |
#define | _mm256_fmadd_ps(x, y, z) _mm256_add_ps(z, _mm256_mul_ps(x,y)) |
#define | _mm256_fnmadd_ps(x, y, z) _mm256_sub_ps(z, _mm256_mul_ps(x,y)) |
#define | _mm512_fmadd_ps(x, y, z) _mm512_add_ps(z, _mm512_mul_ps(x,y)) |
#define | _mm512_fnmadd_ps(x, y, z) _mm512_sub_ps(z, _mm512_mul_ps(x,y)) |
Enumerations | |
enum | { NIMAX = 16384, NJMAX = 131072 } |
Functions | |
class PhantomGrapeQuad | __attribute__ ((aligned(128))) |
PhantomGrapeQuad () | |
void | set_eps2 (const double _eps2) |
void | set_r_crit2 (const double _r_crit2) |
void | set_epj_one (const int addr, const double x, const double y, const double z, const double m, const double r_search) |
void | set_spj_one (const int addr, const double x, const double y, const double z, const double m, const double qxx, const double qyy, const double qzz, const double qxy, const double qyz, const double qzx) |
void | set_xi_one (const int addr, const double x, const double y, const double z, const double r_search) |
template<typename real_t > | |
void | accum_accp_one (const int addr, real_t &ax, real_t &ay, real_t &az, real_t &pot) |
template<typename real_t > | |
void | accum_accp_one (const int addr, real_t &ax, real_t &ay, real_t &az, real_t &pot, real_t &nngb) |
template<typename real_t > | |
void | accum_accp_one (const int addr, real_t &nngb) |
template<typename real_t > | |
void | get_accp_one (const int addr, real_t &ax, real_t &ay, real_t &az, real_t &pot, real_t &nngb) |
void | run_epj_for_p3t_with_linear_cutoff (const int ni, const int nj) |
void | run_epj_for_neighbor_count (const int ni, const int nj) |
void | run_epj (const int ni, const int nj) |
void | run_spj (const int ni, const int nj) |
#define _mm256_fmadd_ps | ( | x, | |
y, | |||
z | |||
) | _mm256_add_ps(z, _mm256_mul_ps(x,y)) |
#define _mm256_fnmadd_ps | ( | x, | |
y, | |||
z | |||
) | _mm256_sub_ps(z, _mm256_mul_ps(x,y)) |
#define _mm512_fmadd_ps | ( | x, | |
y, | |||
z | |||
) | _mm512_add_ps(z, _mm512_mul_ps(x,y)) |
#define _mm512_fnmadd_ps | ( | x, | |
y, | |||
z | |||
) | _mm512_sub_ps(z, _mm512_mul_ps(x,y)) |
class PhantomGrapeQuad __attribute__ | ( | (aligned(128)) | ) |
void __attribute__::accum_accp_one | ( | const int | addr, |
real_t & | ax, | ||
real_t & | ay, | ||
real_t & | az, | ||
real_t & | pot | ||
) |
void __attribute__::accum_accp_one | ( | const int | addr, |
real_t & | ax, | ||
real_t & | ay, | ||
real_t & | az, | ||
real_t & | pot, | ||
real_t & | nngb | ||
) |
void __attribute__::accum_accp_one | ( | const int | addr, |
real_t & | nngb | ||
) |
void __attribute__::get_accp_one | ( | const int | addr, |
real_t & | ax, | ||
real_t & | ay, | ||
real_t & | az, | ||
real_t & | pot, | ||
real_t & | nngb | ||
) |
__attribute__::PhantomGrapeQuad | ( | ) |
void __attribute__::run_epj | ( | const int | ni, |
const int | nj | ||
) |
void __attribute__::run_epj_for_neighbor_count | ( | const int | ni, |
const int | nj | ||
) |
void __attribute__::run_epj_for_p3t_with_linear_cutoff | ( | const int | ni, |
const int | nj | ||
) |
void __attribute__::run_spj | ( | const int | ni, |
const int | nj | ||
) |
void __attribute__::set_epj_one | ( | const int | addr, |
const double | x, | ||
const double | y, | ||
const double | z, | ||
const double | m, | ||
const double | r_search | ||
) |
void __attribute__::set_eps2 | ( | const double | _eps2 | ) |
void __attribute__::set_r_crit2 | ( | const double | _r_crit2 | ) |
void __attribute__::set_spj_one | ( | const int | addr, |
const double | x, | ||
const double | y, | ||
const double | z, | ||
const double | m, | ||
const double | qxx, | ||
const double | qyy, | ||
const double | qzz, | ||
const double | qxy, | ||
const double | qyz, | ||
const double | qzx | ||
) |
void __attribute__::set_xi_one | ( | const int | addr, |
const double | x, | ||
const double | y, | ||
const double | z, | ||
const double | r_search | ||
) |