{"id":18620562,"url":"https://github.com/simonsobs/sohpc","last_synced_at":"2025-11-03T12:30:22.116Z","repository":{"id":42685177,"uuid":"471510611","full_name":"simonsobs/sohpc","owner":"simonsobs","description":"Repo for scripts to compile Simons Observatory tools on clusters / HPC systems","archived":false,"fork":false,"pushed_at":"2022-04-22T17:45:07.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-12-27T04:25:44.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonsobs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-18T20:39:02.000Z","updated_at":"2022-03-18T21:39:50.000Z","dependencies_parsed_at":"2022-09-23T19:13:00.954Z","dependency_job_id":null,"html_url":"https://github.com/simonsobs/sohpc","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsohpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsohpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsohpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonsobs%2Fsohpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonsobs","download_url":"https://codeload.github.com/simonsobs/sohpc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239413885,"owners_count":19634330,"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":[],"created_at":"2024-11-07T04:06:54.992Z","updated_at":"2025-11-03T12:30:22.061Z","avatar_url":"https://github.com/simonsobs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simons Observatory HPC Installation\n\nThis repo contains scripts for installing Simons Observatory tools from source\non clusters / HPC systems.  These scripts rely on a base installation of the\n`cmbenv` software stack (https://github.com/hpc4cmb/cmbenv).  Before building these\npackages, first load that environment.\n\nIf you are installing Simons Observatory tools on a laptop or workstation, and are\nnot developing the `so3g` package or its dependencies, then it is likely easier to\ncreate a python virtualenv and use pip to install everything.\n\nIf you just want to **use** already installed versions of this software (for\nexample at NERSC or another center), then see the Simons Observatory wiki page\nfor that system.\n\nThe rest of this document describes how to build the software stack from source if\nyou are maintaining that installation.\n\n## Docker Containers\n\nEach tag of this repo builds a docker container which can be found here.  **FIXME: currently hosted under hpc4cmb, not simonsobs**.\n\n| MPI Variant |       Container                                                  |\n|-------------|------------------------------------------------------------------|\n| MPICH       | https://hub.docker.com/repository/docker/simonsobs/sohpc-mpich   |\n| OpenMPI     | https://hub.docker.com/repository/docker/simonsobs/sohpc-openmpi |\n\nThere are containers built with both MPICH and OpenMPI.  You should use the one\nwhich is compatible with the MPI version on your system.  Most HPC centers that\nsupport container solutions will inject / mount the system libraries (including\nMPI) into user containers when they are launched.  This makes it critical to\nuse a container that includes an ABI-compatible MPI implementation.  For example,\non the Cray systems at NERSC, you should use the MPICH flavor of the container when\nusing the `shifter` container solution.\n\n## Generate the Install Script\n\nSelect (or create) a system config file in the `configs` directory.  Next, select where\nyou want to install all the packages and \"version\" to assign this overall installation\n(for example the current date).  Now generate the install script:\n\n```bash\n./sohpc_setup.sh \\\n-c linux \\\n-p ${HOME}/simonsobs \\\n-v $(date +%Y%m%d)\n```\n\nThis will produce a script called `install_linux.sh` (or whatever the name of the config\nyou used in the configs directory).  Make a build directory and run it from there:\n\n```bash\nmkdir build\ncd build\n../install_linux.sh | tee log\n```\n\n## Loading the Software\n\nNow you can load the environment with either a shell init file:\n```bash\nsource ${HOME}/simonsobs/sohpc_init.sh\n```\nOR with modules\n```bash\nmodule use ${HOME}/simonsobs/modulefiles\nmodule load sohpc\nsource sohpc\n```\n\n## Installing a Jupyter Kernel\n\nAfter you have loaded the environment, you can install a jupyter kernel with:\n```bash\nsohpc-jupyter\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fsohpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonsobs%2Fsohpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonsobs%2Fsohpc/lists"}