{"id":23003231,"url":"https://github.com/bsc-wdc/compss","last_synced_at":"2025-04-05T01:04:32.835Z","repository":{"id":42053747,"uuid":"123949037","full_name":"bsc-wdc/compss","owner":"bsc-wdc","description":"COMP Superscalar (COMPSs) is a framework which aims to ease the development and execution of applications for distributed infrastructures, such as Clusters, Grids and Clouds.","archived":false,"fork":false,"pushed_at":"2025-03-21T09:41:09.000Z","size":301883,"stargazers_count":49,"open_issues_count":13,"forks_count":21,"subscribers_count":8,"default_branch":"stable","last_synced_at":"2025-03-29T00:04:57.258Z","etag":null,"topics":["c","distributed-computing","docker","hpc","java","pipeline-framework","python","singularity","slurm","workflow-management-system","workflows"],"latest_commit_sha":null,"homepage":"https://compss.bsc.es","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bsc-wdc.png","metadata":{"files":{"readme":"README.md","changelog":"changelog","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-05T16:44:51.000Z","updated_at":"2025-03-06T16:41:26.000Z","dependencies_parsed_at":"2023-02-01T01:31:08.170Z","dependency_job_id":"ce68fc34-750c-42bd-9114-0edb7dda5e28","html_url":"https://github.com/bsc-wdc/compss","commit_stats":null,"previous_names":[],"tags_count":109,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsc-wdc%2Fcompss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsc-wdc%2Fcompss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsc-wdc%2Fcompss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsc-wdc%2Fcompss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bsc-wdc","download_url":"https://codeload.github.com/bsc-wdc/compss/tar.gz/refs/heads/stable","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271515,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","distributed-computing","docker","hpc","java","pipeline-framework","python","singularity","slurm","workflow-management-system","workflows"],"created_at":"2024-12-15T07:13:43.956Z","updated_at":"2025-04-05T01:04:32.814Z","avatar_url":"https://github.com/bsc-wdc.png","language":"Java","funding_links":[],"categories":["分布式开发"],"sub_categories":[],"readme":"\u003c!-- LOGOS AND HEADER --\u003e\n\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.bsc.es/\"\u003e\n    \u003cimg src=\"files/logos/bsc_logo.png\" alt=\"Barcelona Supercomputing Center\" height=\"60px\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.bsc.es/research-and-development/software-and-apps/software-list/comp-superscalar/\"\u003e\n    \u003cimg src=\"files/logos/COMPSs_logo.png\" alt=\"COMP Superscalar\" height=\"60px\"\u003e\n  \u003c/a\u003e\n  COMPSs/PyCOMPSs Framework\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href='https://eu.badgr.com/public/assertions/DyM-w_V-SEKU64D90AsrEA'\u003e\n  \u003cimg src='https://api.eu.badgr.io/public/assertions/DyM-w_V-SEKU64D90AsrEA/image' alt=\"SQAaaS silver badge achieved\" height=\"75px\"/\u003e\n  \u003c/a\u003e\n  \u003ca href='https://compss.bsc.es/jenkins/job/COMPSs_Framework_Create_Release/'\u003e\n  \u003cimg src='https://compss.bsc.es/jenkins/buildStatus/icon?job=COMPSs_Framework_Create_Release' alt=\"Build Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href='https://compss-doc.readthedocs.io/en/stable/?badge=stable'\u003e\n  \u003cimg src='https://readthedocs.org/projects/compss-doc/badge/?version=stable' alt='Documentation Status' /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://doi.org/10.5281/zenodo.6362594\"\u003e\n  \u003cimg src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.6362594.svg\" alt=\"DOI\"\u003e\n  \u003c/a\u003e\n  \u003ca href='https://opensource.org/licenses/Apache-2.0'\u003e\n  \u003cimg src='https://img.shields.io/badge/License-Apache_2.0-blue.svg' alt='License'/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003e\n    \u003ca href=\"https://www.bsc.es/research-and-development/software-and-apps/software-list/comp-superscalar/\"\u003eWebsite\u003c/a\u003e •  \n    \u003ca href=\"https://compss-doc.readthedocs.io/en/latest/\"\u003eDocumentation\u003c/a\u003e •\n    \u003ca href=\"https://github.com/bsc-wdc/compss/releasess\"\u003eReleases\u003c/a\u003e •\n    \u003ca href=\"https://bit.ly/bsc-wdc-community\"\u003eSlack\u003c/a\u003e •\n    \u003ca href=\"mailto:support-compss@bsc.es\"\u003e\u0026#9993\u003c/a\u003e\n\u003c/b\u003e\u003c/p\u003e\n\nCOMP Superscalar (COMPSs) is a programming model which aims to ease the development\nof applications for distributed infrastructures, such as Clusters, Grids and Clouds.\nCOMP Superscalar also features a runtime system that exploits the inherent parallelism\nof applications at execution time.\n\n\u003c!-- SOURCES STRUCTURE --\u003e\n## Repository Structure\n\n  * **builders**: Packages, scripts for local installations, scripts for supercomputers\n   installation and package building scripts\n  * **compss** : Programming Model, Bindings and Runtime source code\n  * **dependencies** : Embeded dependencies\n  * **files** : Dependency files (i.e. paraver configurations)\n  * **tests** : Integration tests\n  * **utils** : Misc utils (i.e. OVA scripts, Docker generation, Storage implementations)\n\n\n## Supported Systems\n\nCOMPSs/PyCOMPSs fully supports Linux systems for x86_64, amd64, ppc64, arm64 and riscv64 architectures. macOS systems are also supported with some limitations. \n\n\n\u003c!-- BUILDING COMPSS --\u003e\n## Building From Sources\n\nFollow the next steps to build COMPSs in your current machine.\n\n### 1. Install dependencies\n\nFor an updated list of COMPSs dependencies and how to install them for different systems visit the [dependencies section](https://compss-doc.readthedocs.io/en/latest/Sections/01_Installation/01_Dependencies.html) of the COMPSs documentation website.\n\n\n### 2. Get GIT submodules\n\nBefore 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.\n\n```\n./submodules_get.sh\n```\n\n### 3. Build COMPSs\n\n**Note**: Remember to install the COMPSs dependencies and to get the GIT submodules before trying to build COMPSs from sources.\n\n* Building COMPSs for all users (not supported in macOS)\n\n```\ncd builders/\nINSTALL_DIR=/opt/COMPSs/\nsudo -E ./buildlocal [options] ${INSTALL_DIR}\n```\n\n* Building COMPSs for current user\n\n```\ncd builders/\n\nINSTALL_DIR=$HOME/opt/COMPSs/\n./buildlocal [options] ${INSTALL_DIR}\n```\nFor macOS:\n```\ncd builders/\nalias libtoolize=/usr/local/bin/glibtoolize\nalias readlink=/usr/local/bin/greadlink\n\nexport LIBTOOL=`which glibtool`\nexport LIBTOOLIZE=`which glibtoolize`\n\nINSTALL_DIR=$HOME/opt/COMPSs/\n./buildlocal -K -T -M ${INSTALL_DIR}\n```\n\n\nMany 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:\n\n```\ncd builders\n./buildlocal -h\n```\n\n\u003c!-- RUNNING DOCKER TESTS --\u003e\n## Running docker tests\n\n### 1. Install Docker and docker-py\n\nFollow these instructions\n\n - [Docker for Mac](https://store.docker.com/editions/community/docker-ce-desktop-mac). Or, if you prefer to use [Homebrew](https://brew.sh/).\n - [Docker for Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1).\n - [Docker for Arch Linux](https://wiki.archlinux.org/index.php/Docker#Installation).\n\nAdd user to docker group to run docker as non-root user.\n\n - [Instructions](https://docs.docker.com/install/linux/linux-postinstall/).\n\n\n### 2. Build the docker image\n\nRun 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.\n\n```\ndocker build --target=ci -t compss .\n```\n\n\n### 3. Run the tests\n\nTo 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\nso it has de the syntax and options. For example, you can run the first test without retrials as follows:\n\n```\n./docker_main -R -t 1\n```\n\nThe 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\nand runs its tests. **Note**: the testing scripts assumes you have named the testing image `compss`.\n\n**Please be aware that:**\n\n* Code changes affecting the tests sources, config files (e.g. `local.cfg`, and scripts (like `./local`) __will be__ visible inside the newly created container.\n* Code changes affecting the installation __will not be__ visible in the installation because framework is not reinstalled. To do that rebuild the docker image as explained in step 3.\n* If you run the command once, the container will be available for manual inspection (such as logs). You can log into in issuing `docker exec --user jenkins -it compss_test bash` and use the CLI as usual.\n* To delete the created image issue `docker rmi compss`\n* To delete the compss_test container use `docker rm -f compss_test`.\n\n### 4. Run the tests locally on macOS\n\nIn order to run Jenkins tests locally on macOS, GNU sed (gsed) is needed. To install it, use:\n\n```\nbrew install gsed\n```\n\nSome environment variables also need to be defined to ensure gsed is used instead of macOS sed.\n\n```\nexport PATH=\"/usr/local/opt/gnu-sed/libexec/gnubin:$PATH\n```\n\nFinally, 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.\n\n\u003c!-- CONTACT --\u003e\n## Support\nFor support please send and e-mail to support-compss@bsc.es\n\n(c) Workflows and Distributed Computing Group (WDC) - Department of Computer Science (CS) - Barcelona Supercomputing Center (BSC)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsc-wdc%2Fcompss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsc-wdc%2Fcompss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsc-wdc%2Fcompss/lists"}