VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
avx.h File Reference
#include <immintrin.h>
#include <type_traits>
Include dependency graph for avx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fmm
 
namespace  fmm::detail
 

Macros

#define AVX256
 

Functions

template<typename vec_type >
vec_type fmm::avx_zero_vec ()
 
template<typename vec_type >
void fmm::avx_store (double *data, vec_type &v)
 
template<typename vec_type >
vec_type fmm::avx_add (const vec_type &v1, const vec_type &v2)
 
template<typename vec_type >
vec_type fmm::avx_sub (const vec_type &v1, const vec_type &v2)
 
template<typename vec_type >
vec_type fmm::avx_mul (const vec_type &v1, const vec_type &v2)
 
double fmm::avx_hsum (__m128d v)
 
double fmm::avx_hsum (__m256d v)
 
double fmm::avx_hsum (__m512d v)
 
template<typename vec_type >
void fmm::avx_set_range (vec_type &vec, double *val)
 
template<typename vec_type >
void fmm::avx_set_constant (vec_type &vec, double val)
 
void fmm::avx_inv_dr (const __m512d &oneVec, const __m512d &epsVec, const __m512d &x_target, const __m512d &y_target, const __m512d &z_target, __m512d &temp1, __m512d &temp2, __m512d &temp3, __m512d &dx, __m512d &dy, __m512d &dz, __m512d &invdr, __m512d &invdr2)
 
void fmm::avx_inv_dr (const __m256d &oneVec, const __m256d &epsVec, const __m256d &x_target, const __m256d &y_target, const __m256d &z_target, __m256d &temp1, __m256d &temp2, __m256d &temp3, __m256d &dx, __m256d &dy, __m256d &dz, __m256d &invdr, __m256d &invdr2)
 
void fmm::avx_inv_dr (const __m128d &oneVec, const __m128d &epsVec, const __m128d &x_target, const __m128d &y_target, const __m128d &z_target, __m128d &temp1, __m128d &temp2, __m128d &temp3, __m128d &dx, __m128d &dy, __m128d &dz, __m128d &invdr, __m128d &invdr2)
 

Variables

const int fmm::detail::avx_vec_length = 4
 

Macro Definition Documentation

◆ AVX256

#define AVX256

Definition at line 7 of file avx.h.