zafar-hussain / distopia

SIMD instructions for faster distance calculations.

Home Page:https://www.mdanalysis.org/distopia/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

distopia

Faster distance calculations for the year 2020 ๐Ÿš€ ๐Ÿš€ ๐Ÿš€

Documentation can be found at https://www.mdanalysis.org/distopia/

To build:

  mkdir build
  cd build
  cmake ..
  make

or with Ninja:

  mkdir build 
  cd build
  cmake .. -GNinja
  ninja

To run the tests:

make test

or with Ninja:

ninja test

To control the instruction set use one the following CMake flags

  • -DDISTOPIA_USE_SSE1 for SSE
  • -DDISTOPIA_USE_SSE2 for SSE2
  • -DDISTOPIA_USE_SSE3 for SSE3
  • -DDISTOPIA_USE_SSSE3 for SSSE3
  • -DDISTOPIA_USE_SSE4_1 for SSE4.1
  • -DDISTOPIA_USE_SSE4_2 for SSE4.2
  • -DDISTOPIA_USE_AVX for AVX
  • -DDISTOPIA_USE_AVX2 for AVX2

Or you can let distopia choose for you (default)

To benchmark methods (from ./build) run the benchmarks binary:

  ./benchmarks

Distopia's documentation is made with breathe using a combination of Doxygen and Sphinx To build the docs, go to the doc directory and:

doxygen
make html

then point your browser to the generated documentation.

To assess code coverage build with cmake -DDISTOPIA_COVERAGE=ON and use either make or ninja to build the coverage targets tests_coverage or test_kernels_coverage. You can then view the resulting HTML gcovr coverage reports in your favourite browser.

About

SIMD instructions for faster distance calculations.

https://www.mdanalysis.org/distopia/

License:GNU General Public License v3.0


Languages

Language:C++ 82.2%Language:Python 12.3%Language:CMake 2.7%Language:C 1.2%Language:Shell 0.8%Language:Starlark 0.6%Language:Cython 0.1%