Skip to content

About

Simple N-body codes using C++ experimental simd support

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

nvortexSimd

Simple N-body codes using C++ experimental simd support

Compile and run

On a Linux workstation with GCC 11+ (or clang?), this should be as easy as

make
./nvortex2d.bin
./nvortex3d.bin -n=30000

To do

We should be able to iterate over a std::vector<float> but cast it to a simd type just before the kernel.

About

This will be a copy of nvortexVc but using the C++-built-in experimental simd extensions. Learn more about experimental/simd at cppreference and stackoverflow.

Note that GCC will auto-vectorize the 2D code, but not the 3D code (too many registers?). Unlike Vc, there is no vectorized square root yet, so the 3D code is much slower than the 2D code now.

About

Simple N-body codes using C++ experimental simd support

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages