Presentation
Poster 9: Machine Specific Symbolic Code Generation
Event Type
ACM Student Research Competition: Graduate Posters
ACM Student Research Competition: Undergraduate Posters
Posters
TP
EX
EXH
Student Program
TimeThursday, 21 November 20198:30am - 5pm
LocationE Concourse
DescriptionNew discoveries in science and engineering are primarily driven by numerical simulations of underlying governing equations. Manually written codes to evaluate the main computational kernels lack portability, prone to human errors, ability to perform code optimizations due to the complexity of the underlying equations. In this work we present a symbolic code generation framework, which generates architecture optimized code for different platforms. As the driving application, we primarily use computational relativity where computations of Einstein equations become complicated due to the presence of curvature in spacetime.
The presented framework is based on SymPy with additional modules written to handle complicated partial differential equations (PDEs). The symbolically written equations are converted to a computational graph, which enables to perform architecture (cache, register optimizations) and language specific (SIMD vectorization, CUDA) optimizations. By computing common subexpressions, we reduce the number of compute operations needed, by storing them in temporary variables.
The presented framework is based on SymPy with additional modules written to handle complicated partial differential equations (PDEs). The symbolically written equations are converted to a computational graph, which enables to perform architecture (cache, register optimizations) and language specific (SIMD vectorization, CUDA) optimizations. By computing common subexpressions, we reduce the number of compute operations needed, by storing them in temporary variables.
Archive