# HPC-UGent - INUITS - EasyBuild (Petr - 2022-10-05) main contact @ HPC-UGent: Kenneth Hoste ## Tasks Prep: - create VSC account to access HPC-UGent infrastructure - see 'UGent welkom' invite to create UGent (mini-)account - see https://www.ugent.be/hpc/en/access/faq/access to create VSC account - connect with VSC account - use https://firewall.vscentrum.be to whitelist your IP - then SSH into login.hpc.ugent.be - or use web portal https://login.hpc.ugent.be - watch introductory talk on HPC-UGent - watch introductory talk on EasyBuild - work through EasyBuild tutorial (incl. exercises) - for example EasyBuild ISC'21 tutorial (recording available) Primary tasks: - help with tackling installation requests for scientific software on HPC-UGent Tier-2 and VSC Tier-1 clusters - creating easyconfig files so software can be installed using EasyBuild Secondary: - extend EasyBuild documentation - write up "how to" on creating easyconfig files for Python software - help with porting EasyBuild documentation from .rst to MarkDown (.md) + mkdocs - see https://github.com/easybuilders/easybuild/tree/develop/docs - help with implementing missing features in EasyBuild ## Skills - Linux (shell) - Python - Git + GitHub - compilers (C++, ...) - figuring out compiler errors and other installation problems ## Communication - weekly sync meetings via https://jitsi.inuits.io/ugent (usually Tue at 10:00 CE(S)T) - see also HackMD note @ https://hackmd.io/KtmDOX7bTFmdCi1Lqt0U2w - #eb_inuits (private) channel in EasyBuild Slack ## Worfklow - 1) pick an issue to work on from (see VSC Software Stack GitHub repository) - focus on issues tagged with `site:ugent` or `site:t1_ugent_hortense` - initially focus on issues tagged with `difficulty:easy` - 2) start working on an easyconfig file (or multiple, if dependencies are required) - 3) upload work-in-progress to a dedicated subdirectory in the GitHub repository, with appropriate name - test easyconfig file(s) in your VSC account, on top of the centrally installed software - in an interactive job (start with 'qsub -I') - by preference use the 'slaking' cluster (no waiting time in queue) - 4) run test case on installed to mimic how a user would use the software - 5) iterate over 2+3+4 until easyconfigs are working as expected - 6) when easyconfig file(s) are done, open a pull request (PR) to the central easybuild-easyconfigs repository - see docs on GitHub integration in EasyBuild - 7) process incoming comments and suggestions in PR, iterate until PR is merged - 8) cleanup: remove subdirectory in VSC Software Stack GitHub repo + close issue when PR is merged ## Links - HPC-UGent website: https://www.ugent.be/hpc - Introduction to HPC-UGent: https://www.ugent.be/hpc/en/training/2022/introhpcugent - EasyBuild website: https://easybuild.io - EasyBuild documentation: https://docs.easybuild.io - EasyBuild GitHub integration: https://docs.easybuild.io/en/latest/Integration_with_GitHub.html - EasyBuild Slack: https://easybuild.io/join-slack - EasyBuild tutorial: https://easybuild.io/tutorial - "From EasyBuild to EESSI" presentation: https://www.youtube.com/watch?v=3J4cxfx6PoA (slides: https://users.ugent.be/~kehoste/From-EasyBuild-to-EESSI-2022-08-24.pdf) - VSC Software Stack @ GitHub: https://github.com/vscentrum/vsc-software-stack - old legacy (private) repository: https://github.com/hpcugent/eb_inuits