Website • Documentation • Releases • Slack • ✉
COMP Superscalar (COMPSs) is a programming model which aims to ease the development of applications for distributed infrastructures, such as Clusters, Grids and Clouds. COMP Superscalar also features a runtime system that exploits the inherent parallelism of applications at execution time.
COMPSs/PyCOMPSs fully supports Linux systems for x86_64, amd64, ppc64, arm64 and riscv64 architectures. macOS systems are also supported with some limitations.
Follow the next steps to build COMPSs in your current machine.
For an updated list of COMPSs dependencies and how to install them for different systems visit the dependencies section of the COMPSs documentation website.
Before installing COMPSs you need to download the git submodules that contain its dependencies. To do that execute the following two commands at the root of the repository.
./submodules_get.sh
Note: Remember to install the COMPSs dependencies and to get the GIT submodules before trying to build COMPSs from sources.
cd builders/
INSTALL_DIR=/opt/COMPSs/
sudo -E ./buildlocal [options] ${INSTALL_DIR}
cd builders/
INSTALL_DIR=$HOME/opt/COMPSs/
./buildlocal [options] ${INSTALL_DIR}
For macOS:
cd builders/
alias libtoolize=/usr/local/bin/glibtoolize
alias readlink=/usr/local/bin/greadlink
export LIBTOOL=`which glibtool`
export LIBTOOLIZE=`which glibtoolize`
INSTALL_DIR=$HOME/opt/COMPSs/
./buildlocal -K -T -M ${INSTALL_DIR}
Many COMPSs modules can be activated/deactivated during the build using different options in the buildlocal
command. You may check the available options by running the following command:
cd builders
./buildlocal -h
Follow these instructions
Add user to docker group to run docker as non-root user.
Run the following command at the root of the project to build the image that will used for testing. The command create an image named compss and install the current branch into the image.
docker build --target=ci -t compss .
To run the tests inside the docker image use the script found in ./tests/scripts/docker_main
. This command is a wrapper for the ./main
test command
so it has de the syntax and options. For example, you can run the first test without retrials as follows:
./docker_main -R -t 1
The docker main command creates a new docker container each time you run it (replacing the last one used). It copies the current framework inside it
and runs its tests. Note: the testing scripts assumes you have named the testing image compss
.
Please be aware that:
local.cfg
, and scripts (like ./local
) will be visible inside the newly created container.docker exec --user jenkins -it compss_test bash
and use the CLI as usual.docker rmi compss
docker rm -f compss_test
.In order to run Jenkins tests locally on macOS, GNU sed (gsed) is needed. To install it, use:
brew install gsed
Some environment variables also need to be defined to ensure gsed is used instead of macOS sed.
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH
Finally, the NIO_mac.cfg
file needs to be updated with any specific features of the local macOS environment, commonly variables such as the java_home
, compss_home
and runcompss_opts
parameters should be updated.
For support please send and e-mail to support-compss@bsc.es
(c) Workflows and Distributed Computing Group (WDC) - Department of Computer Science (CS) - Barcelona Supercomputing Center (BSC)