DOWNLOAD PRESENTATIONWATCH VIDEOThe inability to predict lasting languages and architectures led us to develop OCCA, a library focused on host-device interaction. OCCA is made up of a portable API, natively available in C, C++, C#, Fortran, Python, Julia and MATLAB, and the device kernel language. The unified kernel language in OCCA is based on macro expansions exposing parallelism and expanding to OpenMP, OpenCL, CUDA, Pthreads and COI.
However, rather than coding in the OCCA intermediate representation, we introduce two native languages: OKL and OFL. The OCCA Kernel Language (OKL) is based on C and extends the language by exposing parallel loops by labeling them. The OCCA Fortran Language (OFL) is the Fortran language equivalent of OKL.
OCCA is open-source project and can be found in [https://github.com/tcew/OCCA2] and simple examples are included in [https://github.com/tcew/OCCA2/examples].