Giter Site home page Giter Site logo

software-layer's Introduction

CCR Software Layer

This is the CCR software layer.

NOTE: these docs are currently very much a WIP

About

All software at CCR is built using easybuild, available via modules using Lmod, and distributed using CernVM-FS. This repository contains scripts to help build software with easybuild using containers. To ensure all software runs on any compute node regardless of the underlying Linux distro, we use Gentoo Prefix as the compatibility layer. For more information on CCR's compatibility layer see our gentoo-overlay.

Building Software

Software at CCR is distributed via CernVM-FS, a read-only file system designed to deliver scientific software. CCR's workflow for building new software uses singularity containers with a writable overlay on top of the CCR CernVM-FS repository. Any physical compute node can be used to run the container and build software.

Quick start

# Clone repo and start container
user@host$ git clone https://github.com/ubccr/software-layer.git
user@host$ cd software-layer
user@host$ ./start-container.sh /scratch/username_somepackage

# Inside load easybuild module and run easybuild
user@container$ module load easybuild

# Show easybuild config
user@container$ eb --show-config

# Search for package showing short names
user@container$ eb -S OpenMPI

# Search for package showing full path to eb file
user@container$ eb --search OpenMPI

# Show the deps that will be built without actually building
user@container$ eb OpenBLAS-0.3.9-GCC-9.3.0.eb -M

# Build package and all deps
user@container$ eb OpenBLAS-0.3.9-GCC-9.3.0.eb --robot

user@container$ module load openblas
user@container$ exit

# Exit container and create tarball for ingestion into CernVM-FS
user@host$ ./create-tarball.sh easybuild /scratch/username_somepackage
user@host$ cp /scratch/ccr-xxx-easybuild-user_somepackage-xxx.tar.gz /path/to/mirrors 

Workflow in detail

  1. Clone this repo (or clone your own fork if you plan on submitting PRs):
$ git clone https://github.com/ubccr/software-layer.git
$ cd software-layer
  1. Start a singularity container. We use the helper script start-container.sh which takes a single argument: the path to a working directory where the writable-overlay will write your files. This should be somewhere in /scratch. It's recommended to follow a basic naming convention, for example if your building OpenMPI, then use /scratch/username_OpenMPI.
$ ./start-container.sh /scratch/username_somepackage

NOTE: The first time you run this command it may fetch the build-node docker image from docker hub, convert it to singularity sif format, then start the container.

  1. After the container starts you have a shell with the current directory (this software-layer git repo where you ran the start-container.sh script) bind mounted into /srv/software-layer inside the container. So cd into this directory:
$ cd /srv/software-layer
  1. Ensure you enviroment is setup:
# This should now show the latest software modules
$ module avail

NOTE: You can make changes to the config/init scripts and test them inside the container. Then commit and submit a PR's etc.

  1. Load the easybuild module:
$ module load easybuild
  1. Build software, test software:
$ eb OpenBLAS-0.3.9-GCC-9.3.0.eb --robot
[grab a cup of coffee]
...
[hours later]
..
$ module load openblas
$ exit
  1. Once you exit the container terminated and any easybuild files (modules, software) that were written to /cvmfs were captured in your workdir in a directory named overlay-upper. We can now run a script to tar up these files for eventual importing into the CCR cvmfs repo. The tarball will be created with the following naming convention:
 ccr-<version>-{compat,easybuild}-[some tag]-<timestamp>.tar.gz

To create a tarball after building software with easybuild run:

$ ./create-tarball.sh easybuild /scratch/username_somepackage
  1. Copy the resulting tarball to mirrors so that others can test out your work before publishing to our production CernVM-FS stratum0 server.

See Also

The config files and scripts in this repo were heavily adopted from EESSI and Compute Canada. You can check out their configs here:

License

The software in this repository is distributed under the terms of the GNU General Public License v2.0. See the LICENSE file.

software-layer's People

Contributors

aebruno avatar dsajdak avatar kevinvanslyke avatar mdjones0 avatar tonykew avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

software-layer's Issues

SRA Toolkit

Currently need to use SRA Toolkit in the UB_HPC Shell for students (new environment). Was told to request to have CCR staff install it into the shell.

Ansys version 22R2

Hello, I would like to request an updated Ansys module to match school desktop versions. Mismatched version files lead to errors and postprocessing delays in mechanical and fluent case studies. School desktop versions are on 22R2 while latest module is at 21R2.

GOBNILP-1.6.3

GOBNILP-1.6.3 is a Bayesian network learning toolkit, used in biomedical applications and Machine Learning in general. It is supported by EB, and having it system-wide would benefit probably quite a few users.

PySyft Library

I, Abhijith G. Anil, (CCR Username: abhijit3) am currently working with Dr. Haimonti Dutta on a Federated Learning project which requires PySyft library, currently unavailable on the CCR. Hence I request access to said library.

Two R packages (clusterProfiler and enrichplot)

Hi. My name is Yungki Park. I teach BCH519. Please install clusterProfiler and enrichplot for R 4.1.0. These are widely used for bioinformatics analysis, including analysis of RNA-seq, ChIP-seq, and CUT&Tag data. They are part of Bioconductor. I tried to install these myself in my home directory for the class. But it did not work because the installation process needed, but could not find, some system library files. Thanks for your help!

clusterProfiler: https://bioconductor.org/packages/release/bioc/html/clusterProfiler.html
enrichplot: https://bioconductor.org/packages/release/bioc/html/enrichplot.html

GROMACS 2023.1

Dear CCR Support Team,

I am currently working on a project that requires the use of GPU-accelerated simulations with GROMACS. However, the version of GROMACS currently available on our system (2019.2) does not seem to fully support the newer generation GPUs we have at CCR.

I kindly request that a build of GROMACS version 2022.5 or newer version 2023 be made available on our system. This version is expected to have the necessary GPU support and will significantly enhance our research capabilities.

Please let me know if there are any additional details I can provide to facilitate the process.

Thank you for your attention to this matter.

Best regards,
Patrick

RepeatModeler and RepeatMasker

Hello,

I would like to request the installation of RepeatModeler (https://github.com/Dfam-consortium/RepeatModeler, http://www.repeatmasker.org/RepeatModeler/) and RepeatMasker (https://www.repeatmasker.org/RepeatMasker/). I have tried to install this software myself, but have run into issues during configuration, particularly with the Perl dependencies.

This software would be very useful for a number of labs in the Biological Sciences department. Masking repetitive elements in genomes is a crucial prerequisite for functional annotation and many other analyses.

Thanks,
Dan

Quantum Espresso v6.2

Hi,

My name is Nisha Geng and I work in Dr. Eva Zurek group, from the chemistry department. Almost everyone in my group used Quantum Espresso so I'd like to submit a request for the Quantum Espresso installation for the new module (it is free). In addition, I was wondering that can you install the older version of QE as well (6.2)?

Thanks for the support,

Nisha

SPLAT

Dear CCR Support Team,

I am Zolal Ayazpour, a PhD student at UB working with Dr. Kang Sun. We need to install a software for our research group on CCR. It is called SPLAT (Smithsonian PLanetary ATmosphere) which is a FORTRAN interface to a radiative transfer model.
I was trying to install SPLAT on CCR but I faced some issues. SPLAT requires these dependencies:

  • CMake: version 3.15.0 or newer
  • git
  • pkg-config
  • FFTW3
  • LAPACK
  • netcdf-fortran
    CMake is already installed on CCR but I was not able to find the others. I was trying to compile FFTW3 but it ended up with an error that 'makeinfo' is missing on the system. I am wondering if you could kindly help us with installing these dependencies.

Best regards,
Zolal

CDO

The Ghub netcdfregrid tool currently loads module cdo/1.7.1.
Please install cdo in the new ccr environment.

I rechecked an email that Dori Sajdak sent us and her recommendation is to install cdo with the CDO-2.0.5-gompi-2021b.eb
EasyBuild recipe.

I can test the netcdfregrid code with this version of cdo first after it is installed.

VASP

Hi,

I am Animesh, PhD student in Dr.Singisetti's Lab in the Department of Electrical Engineering. I talked with Dori regarding using VASP on the new environment. VASP is a licensed software and we have a purchased license for it. A previous graduate student from our group worked with CCR to install VASP on the old software environment. But I am having issues installing VASP on the new environment. Is it possible for you to build VASP for us in the new environment?

NAMD 2.14 with CUDA Support

Hi,

I would like to request the setup of NAMD 2.11 on our High-Performance Computing (HPC) system. Additionally, to leverage the capabilities of our HPC's GPU units, it would be highly beneficial if this build could include CUDA support.

The use of this software with CUDA capabilities will greatly enhance the speed and efficiency of my research work, and I believe it will be beneficial for other users in our community who are also involved in similar computational tasks.

I appreciate your time and effort in addressing this request. If you need any further information from me, please do not hesitate to ask.

Thank you for considering my request, and thank you.

Best regards,
Patrick

Wolfram Mathematica

Hi,

My name is Gabriele Fiore and I work in Dr. Ciaran Williams group, from the physics department.

As per ticket #34155, I'd like to submit a request for the Wolfram Mathematica installation.

Thanks for the support,

Gabriele

LS-DYNA

In the latest software release, please keep the legacy LS-Dyna software (not part of Ansys workbench) on CCR.

Problems With the Command Module Load in Batch Test

I'm unable to submit a complete job to align RNA reads using Bowtie2. The job is able to submit, however, the output script says the module load command is not found. I've attached the text file for the batch test, and the output script. When my PI runs the same job in the faculty cluster; the command for module is identified and able to run Bowtie. Does the module command in the new environment UB_HPC Cluster Shell need to be updated. I am able to use the command module on a single line.

Text File
TextFile_Error

Output Script
Output Script

Request for Installation of bbtools

Hello,

I would like to request that the BBTools suite of software be installed on the CCR servers.

BBTools is a suite of fast, multithreaded bioinformatics tools designed for analysis of DNA and RNA sequence data, and the software and installation instructions can be found here: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/

Thank you for taking the time to address my request for installation of BBTools.

All the best,

Christian A.

pdftk

Hi! Could you please install the software package pdftk?

Abaqus

Install latest abaqus

Julia v1.9.3

Hi, I need the latest stable release (v1.9.3) of the Julia programming language. Prebuild binaries and the source code can all be found here.

Thank you!

Launcher

Launcher is a framework for running large collections of serial or multithreaded applications known as High Throughput Computing (HTC), as a single multinode parallel job on batch-scheduled High Performance Computing (HPC) systems. Launcher can be used to perform simple, data parallel, high throughput computing (HTC) workflows on clusters, massively parallel processor (MPP) systems, workgroups of computers, and personal machines.
https://docs.tacc.utexas.edu/software/launcher/

update Gurobi software to version 10.0.1

Hello,

We plan to conduct a wide range of experiments using the Gurobi optimizer through Python. The latest version available in CCR is 9.1.1, which was released in 2020 and is outdated, as it is no longer fully supported by Gurobi. Furthermore, the latest version, 10.0.1, provides impressive performance improvements compared to 9.x.x versions.

I reached out to the Easy Build community for help in creating a recipe for Gurobi version 10.0.1, and I was fortunate to learn that they recently opened a pull request for this version a few days ago

(PR #17847 - easybuilders/easybuild-easyconfigs#17847).

They provided me with some installation instructions, but I do not have a sufficient background in this area and am unsure how to proceed.

Here are the instructions they provided:

"grape" said:

Please read the comments in the PR regarding the license file! You may need to adjust it.
Otherwise, if you run eb --from-pr 17847, you should be able to install it. You may also need to add the --robot flag.

"Kenneth Hoste (boegel)" said:

@erdi mentioned that they need an easyconfig for Gurobi 10.0.1 with the GCC they have already installed, so a simple --from-pr won’t work.
However, they can use the easyconfig file that is available in your PR and modify the toolchain and dependencies to match what they already have.
Here is a starting point to get a local copy of the easyconfig file: eb --from-pr 17847 --copy-ec Gurobi-10.0.1.eb

To conclude, we were wondering if there is any possibility that you obtain and install the latest version 10.0.1 on CCR? Please let me know if these instructions work, or if you can direct me on how to request further assistance from the Easy Build community.

Best regards,

Erdi

Tensorflow-Federated Package

I, Abhijith G. Anil, (CCR Username: abhijit3) am currently working with Dr. Haimonti Dutta on a Federated Learning project which requires the TensorFlow-Federated package, currently unavailable on the CCR. Hence I request access to said package.

Installing FSL on CCR module

Hello,
My group uses the FSL software package to process neuroimaging data. It was installed for us in the old software environment and we would like to request it to be installed in the new software module so that we can continue to use it.

Installation info: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation

Thank you so much and let me know if you have any questions.
Sarah Muldoon

GROMACS-SWAXS

Hello Admin,

I kindly request the installation of the GROMACS-SWAXS software on the CCR servers.

GROMACS-SWAXS is an open-source software that extends the capabilities of GROMACS by providing tools to analyze Small-angle X-ray Scattering (SWAXS) data from molecular dynamics simulations. The software will be extremely beneficial for our ongoing research as it offers robust and advanced analysis methods that are vital for our work. We will appreciate it if it is built to utilize GPU.

The official documentation and additional information about the software can be found at the following link: https://cbjh.gitlab.io/gromacs-swaxs-docs. The source code is publicly available on their official GitLab page.

I am more than willing to provide any additional information or assistance that you may require. Looking forward to your positive response.

Building a new software svFSI

Hello!

Just saw the new documentation on CCR and I appreciate it very much. It was a great read through.

I wanted to install a software called svFSI. A full URL for the detailed build instructions are available here: https://github.com/SimVascular/svFSI.

I have experience building this software personally and on AWS but am not quite sure how to approach it on CCR. Hence, I am submitting a request for this software to be built.

Overall,
Thanks a lot for your efforts and help.

Aditya

SAS

requested via ticket 33567

OpenMolcas parallel version

Hello,
I am Asmita Sen (username: asmitase) from Prof. Jochen Autschbach group, Department of Chemistry, a new CCR user. I want to install OpenMolcas software (parallel version) locally inside my account. The path for the installation will be "/projects/academic/jochena/asmitase/molcas_parallel". I am requesting here the CCR to install these software in my home directory.

Thanks and regards,
Asmita

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.