Skip to content
Jacob Austin edited this page Oct 27, 2018 · 3 revisions

Titan's main function is to enable users to run GPU-accelerated simulations with low level control. NVIDIA CUDA is used to run simulations on the GPU using custom data structures that serve as containers for data created on the CPU.

GPU Computations

Internally, the GPU repeatedly loops over an array of springs and updates the adjacent masses according to Hooke's law. However, thanks to CUDA, these computations can be performed simultaneously, vastly reducing the time needed. After this computation, the GPU applies constraints and other forces to all the masses, parallelizing this operation in the same manner.

Graphics (optional)

Loch includes a basic graphics module that uses GLEW, GLM and OPENGL to enable visualization of the simulations in real time. These graphics are also handled on the GPU. OpenGL binds buffers to the GPU memory, allowing efficient rendering without the overhead of copying to and from the GPU. These can be disabled with a compiler flag at the users discretion.