What's New?

12 January 2016

GraviT 0.3 has been released! Clone the repo from the GraviT GitHub site.

15 October 2015

GraviT 0.2 has been released! Clone the repo from the GraviT GitHub site.

7 August 2015

GraviT is in the news! Read the National Science Foundation feature story on ray tracing with GLuRay and GraviT at the NSF discoveries site.

What is GraviT?

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. While GraviT is designed with many types of actors and use cases in mind, the canonical usage of GraviT is with the actors that are rays and data that are tessellated surfaces. In this case, GraviT produces ray-traced renderings.

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. In short, GraviT provides a fully working system, but also one that can be easily extended. Finally, GraviT is intended for very computationally heavy problems, so it aims to carry out calculations in the most efficient way possible while maintaining modularity and generality. This goal impacts the scheduler and engine elements in particular.

GraviT is divided into “core” infrastructure and domain-specific library. The “core” infrastructure, abbreviated GVT-Core, contains abstract types, as well as implementations that are common to domain-specific libraries, for example scheduling. The domain-specific libraries build on GVT-Core to create a functional system that is specialized to their area. The domain-specific libraries that have been discussed by the GraviT team are:

GraviT is developed by the Texas Advanced Computing Center at the University of Texas at Austin, in partnership with the University of Oregon, the University of Utah, and ParaTools, Inc.