This workspace regroups all the pieces needed for RoseACC to compile OpenACC applications. RoseACC produces OpenCL C kernels for the OpenACC application. These kernels - and the data they use - are managed by libOpenACC an implementation of the OpenACC Runtime.
This workspace contains submodules:
- libOpenACC: implementation of OpenACC Runtime based on OpenCL
- ROSE Compiler: open-source source-to-source compiler for C/C++/FORTRAN/...
- internal copy of ROSE Compiler
- potentially out-of-sync with ROSE's master branch
- access to this branch is reserved to collaborators
- RoseACC: OpenACC Compiler
- tests: libOpenACC and RoseACC tests
Checkout the workspace
RoseACC workspace is stored on GitHub. Currently (07/2014), the workspace point to a private repository for ROSE Compiler. Soon, our changes to ROSE Compiler will be distributed through the official ROSE repository on GitHub (supposedly 09/2014). Meanwhile, access can be granted to our repository (e-mail: email@example.com).
git clone firstname.lastname@example.org:tristanvdb/RoseACC-workspace.git cd RoseACC-workspace git submodule init git submodule update
The last command may fail on the rose submodule.
In this case, update the submodule individually:
git submodule update libOpenACC ; git submodule update RoseACC ; git submodule update tests.
The setup script won't work if you don't have ROSE submodule.
For bash user, we provide a script (setup.sh) that build, compile, and install ROSE Compiler, RoseACC, and libOpenACC.
It also run
make check in the tests directory.
Usage: ./setup.sh build_dir install_dir boost_home opencl_inc opencl_lib sqlite_inc sqlite_lib [parallel_make=8]
- build_dir : Build directory (created if needed)
- install_dir : Installation directory ('prefix' for configuration)
- boost_home : home for Boost
- opencl_inc : include path for OpenCL
- opencl_lib : library path for OpenCL
- sqlite_inc : include path for SQLite
- sqlite_lib : library path for SQLite
- parallel_make : (opt) number of parallel processes to use for make.
Build & Configure & Make
Coming soon: how to setup the environment manually... For now you can just figure out what happens with setup.sh.
NB: without all the submodules the top configure file will fail too...