GraviT project poster for NSF SI^2 PI meeting 2018

2018-04-23T18:04:07Z (GMT) by Paul Navratil
<div>GraviT is a software library for the class of simulation problems where insight is derived from actors operating on scientific data, i.e., data that has physical coordinates. This data is often so large that it cannot reside in the memory of a single compute node. GraviT’s design focuses on three key elements: interface, scheduler, and engine. The interface element is how users interact with GraviT. The scheduler element focuses on how to bring together actors with the appropriate pieces of data to advance the calculation. The engine element performs the specified operations of the actor upon the data. This design is intentionally modular: developers can opt to extend GraviT with their own implementations of interface, scheduler, or engine, and to re-use the implementations from the other areas. </div><div> </div><div>The GraviT work has resulted in a scalable, distributed-memory ray tracing framework suitable to incorporate into applications that require ray tracing capabilities, particularly in distributed-memory environments. GraviT enables applications to seamlessly support efficient ray tracing using hardware-optimized ray tracing engines across a variety of hardware platforms, including Intel Xeon family processors and NVIDIA GPUs. GraviT also enables seamless support for work distribution across all available processors within heterogeneous computing environments (for example, hybrid CPU + GPU systems). GraviT has been successfully integrated into the GLuRay OpenGL-based ray tracing interface, the VisIt visualization toolkit, the VTK visualization toolkit, and the yt visualization framework.</div>