Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
simd_derivs.h
Go to the documentation of this file.
1 //
2 // Created by hari on 6/2/17.
3 //
4 
13 #ifndef SFCSORTBENCH_SIMD_DERIVS_H
14 #define SFCSORTBENCH_SIMD_DERIVS_H
15 
16 // #if defined(__AVX2__) || defined(__AVX512F__)
17 // #include <immintrin.h> // AVX
18 // #include <zmmintrin.h> // AVX512
19 // #endif
20 
21 #include <x86intrin.h>
22 
23 #ifdef __AVX512F__
24 #define SIMD_LENGTH 8
25 #define SIMD_ALIGNMENT 32
26 
27 // load-store
28 
29 
30 // arithmetic
31 
32 #endif
33 
34 #ifdef __AVX2__
35 #define SIMD_LENGTH 4
36 #define SIMD_ALIGNMENT 32
37 
38 // load-store
39 
40 
41 // arithmetic
42 
43 #endif
44 
45 // allocation
46 int simd_alloc(void **memptr, size_t size) {
47  return posix_memalign(memptr, SIMD_ALIGNMENT, size);
48 }
49 
50 #endif //SFCSORTBENCH_SIMD_DERIVS_H