Logo

HPC @ Uni.lu

High Performance Computing in Luxembourg

FAQ: Can You Compile Software X With Extension Y With Feature Z for Me?

In short no, at least NOT YET:

  • We wish we had the time to serve the needs of our hundreds of users, in this fashion. Alas.
  • Delivering software is a tedious effort and especially scientific software often needs to be parameterized in particular ways to make it useful/compliant etc.
  • “One man’s feature, is another man’s bug” - as sysadmins, we would rather stay out of this game, this is strictly users’ domain
  • Different versions and dependencies just add to the software headache (aka “dependency hell”).

So, here is what we can offer/propose instead:

  • Try to build the software in your home area, in a reproducible manner (oh, yes, this requires you to go through and follow your application’s great documentation, finally!)
  • Deliver the resulting experience in the form of something that another fellow user can execute, fully automated:
    • write a shell script or, a Makefile or, something equivalent
    • the destination directory should be tunable via fi. $INSTALLDIR or $1 (ie. installation mechanism should be relocatable)
    • document the list of variables that must be tuned: $PATH, $LD_LIBRARY_PATH, $MANPATH etc
    • Use $EB* variables if you refer to dependencies in other modules (try module show OpenBLAS and you will understand)
    • At this point, you’ve created a resource very useful for your own team: a reproducible recipe for delivering your software.
  • Ask for help via hpc-users@uni.lu, to automate this via modules/EasyBuild - by now it should be trivial/straightforward!
    • Our colleagues would be willing to assist you with the initial chores to use git/github to share your contribution in an open source manner, since everybody benefits from that! It is still best-effort assistance, but when you’ve done the homework, people are really willing to give a hand.

Alternatively, ask for a 30-minute HPC User Session, for Consultation on how the EasyBuild workflow goes and our software organization works.