- Linux
- Any operating system capable of running Linux Docker containers (though exposing the GPU and GUI may be tricky)
Either:
- Any CPU or GPU supporting OpenCL 2.1+
- A CUDA-enabled GPU
Common:
- CMake 3.5+
- C++17
- OpenMP
- OpenGL 3.3+
- GLFW dependencies
OpenCL:
- OpenCL runtime for your device
- OpenCL C and C++ headers
- Clang 9+ with LLVM/SPIR-V Translator
CUDA:
- NVIDIA drivers
- CUDA Toolkit
$ git clone https://github.com/wchang22/Nova.git
$ cd Nova && mkdir build && cd build
# Either
$ export CC=/path/to/clang && export CXX=/path/to/clang++
$ cmake .. -DBACKEND=OpenCL
# Or
$ export CC=/path/to/gcc && export CXX=/path/to/g++
$ cmake .. -DBACKEND=CUDA
$ cmake --build .
$ ./nova # Add --headless to run without the GUI$ cd Nova
$ docker build -t nova .
$ xhost local:root
$ docker run -it --rm --name nova -w /root/Nova/ -e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/root/Nova \
--device /dev/dri:/dev/dri nova
$ cd Nova && mkdir build && cd build
$ cmake .. -DBACKEND=OpenCL
$ cmake --build .
$ ./nova


