forked from lkreidberg/batman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
13 lines (8 loc) · 1.18 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
This project supports both OpenMP for CPU parallelization and OpenACC to take advantage of GPU acceleration. OpenMP will be automatically enabled for compilers that support it. OpenACC must be enabled manually by changing environment variables to indicate compiler/linker the setup should use, and which flags should go with the compiler/linker. This is because most compilers either do not support OpenACC or implement it very poorly. clang is an example of the former, while gcc (even gcc 6) is an example of the latter.
To enable OpenACC on NVIDIA GPUs, we recommend these steps:
1. Install the latest version of CUDA (https://developer.nvidia.com/cuda-downloads)
2. Install the PGI compiler (http://www.pgroup.com/products/community.htm)
3. Install robin with:
LDSHARED="pgcc" LDFLAGS="-noswitcherror -O3 -shared -L/opt/pgi/linux86-64/16.10/lib -laccapimp -laccgmp -laccnmp -laccg2mp -ldl -lcudadevice -lpgmp -lnuma -lpthread -lnspgc -lpgc" CC=pgcc CFLAGS="-noswitcherror -O3 -acc -ta=nvidia:nordc -Minfo=accel -mp" python setup.py install
In step 3, replace /opt/pgi with your PGI installation directory, and 16.10 with your version.
4. Run unit tests: python -c "import robin; robin.test()"