# occa **Repository Path**: mbt/occa ## Basic Information - **Project Name**: occa - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

occa

 

Build codecov.io Gitter

  ### What is OCCA? In a nutshell, OCCA (like *oca*-rina) is an open-source library which aims to - Make it easy to program different types of devices (e.g. _CPU_, _GPU_, _FPGA_) - Provide a [unified API](https://libocca.org/#/guide/occa/introduction) for interacting with backend device APIs (e.g. _OpenMP_, _CUDA_, _OpenCL_, _Metal_) - Use just-in-time compilation to build backend kernels - Provide a [kernel language](https://libocca.org/#/guide/okl/introduction), a minor extension to C, to abstract programming for each backend   ### Links - [Documentation](https://libocca.org) - **Want to contribute?** Checkout the ['beginner' issues](https://github.com/libocca/occa/labels/beginner) - 🌟 Who is using OCCA? - [Gallery](https://libocca.org/#/gallery) - [Publications](https://libocca.org/#/publications)   ### Installing ```bash git clone --depth 1 https://github.com/libocca/occa.git cd occa make -j 4 ```   ### Environment Setup environment variables inside the `occa` directory #### Linux ```bash export PATH+=":${PWD}/bin" export LD_LIBRARY_PATH+=":${PWD}/lib" ``` #### Mac OSX ```bash export PATH+=":${PWD}/bin" export DYLD_LIBRARY_PATH+=":${PWD}/lib" ```   ### Hello World ```bash cd examples/cpp/1_add_vectors make ./main ```   ### CLI There is an executable `occa` provided inside `bin` ```bash > occa --help Usage: occa COMMAND Can be used to display information of cache kernels. Commands: autocomplete Prints shell functions to autocomplete occa commands and arguments cache Cache kernels clear Clears cached files and cache locks compile Compile kernels env Print environment variables used in OCCA info Prints information about available backend modes modes Prints available backend modes translate Translate kernels version Prints OCCA library version Arguments: COMMAND Command to run ```   ### Bash Autocomplete ```bash . <(occa autocomplete bash) ```