A company called FabricEngine (http://fabricengine.com) is leveraging the power of LLVM and Python to compile optimized code for Digital Content Creation (DCC) that can run on multicore and GPUs. Products like these demonstrate the acceptance of Python and LLVM into commercial/enterprise high-performance HPC applications just like PyFR and deep-learning. Integrated with existing DCC tools like Maya, Max and Softimage, the Python/LLVM toolset offers Just-In-Time (JIT) compilation and Rapid Application Development (RAD) to create new tools. However, FabricEngine notes, “most DCC applications are extremely limited by comparison to modern game engines“, hence the need for their framework. Internally, FabricEngine uses a proprietary language, KL, that forces the user to define kernels in a somewhat CUDA-like fashion. These kernels can be compiled/recompiled on the fly to run on either CPUs or GPUs as was demonstrated at SigGraph 2014.
To better understand how FabricEngine leverages LLVM, see these 2014 LLVM.org presentation slides or view the following video of the presentation:
Here is a full demonstration of FabricEngine and the Splice API for rapid development (53 minutes)
FabricEngine, MPC and NVIDA Optix. The slides are here.
FabricEngine at Siggraph 2014
Leave a Reply