Interpreting the code:
temperature is a field that is a floating point value defined on every vertex.
position is a field that is a 3-floating point value defined on every vertex
By restricting the class of programs considered, Lizst can make this portability feasible. It has language statements for interacting with an unstructured mesh, and storing data at its elements. Program analysis of these statements enables the Lizst compiler to expose parallelism, locality, and synchronization of Liszt programs. Using this analysis, applications can be generated for multiple platforms, eg : a cluster, an SMP, and a GPU.
Interpreting the code: temperature is a field that is a floating point value defined on every vertex. position is a field that is a 3-floating point value defined on every vertex
For our PL minded students: https://atlassianblog.wpengine.com/archives/scala-types-of-a-higher-kind
By restricting the class of programs considered, Lizst can make this portability feasible. It has language statements for interacting with an unstructured mesh, and storing data at its elements. Program analysis of these statements enables the Lizst compiler to expose parallelism, locality, and synchronization of Liszt programs. Using this analysis, applications can be generated for multiple platforms, eg : a cluster, an SMP, and a GPU.
Lizst Research Paper