-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XUP-149732: DOC - Create documentation for how to setup 'shared' Spack instances #66
Comments
First, you need to configure your shared Spack instance.
|
Once a shared instance is configured, you can activate it and run spack commands from your own user account for debugging, testing, and preparing production-ready Spack specs and/or packages that you want to submit as pull requests to the sdsc/spack repo.
|
Let's work through an example use case. Building and testing a software package from your user account and HOME directory using the shared instance configuration prior to deploying it into one of the production instances on Expanse. For this example, we will use an open user request for a specific software package, namely, a quantum chemistry package called dftbplus, which, as you can see above, has an existing Spack package. The request came in via the Access Ticketing System (ATS) a few weeks ago now. The ticket is available here: ATS-2938. After an initial investigation to determine whether or not the request could be fulfilled using Spack and deployed into the The request is from an SDSC user who previously ran this code on Comet. She has requested some specific optional dependencies to be included in the build of package. Since this package was not available via Rocks when she ran on Comet, we previously provided her with custom build scripts that compile the package with these optional dependencies. Unfortunately, while Spack does have a dftbplus Spack package that supports the requested optional dependencies, the package only supports up to dftbplus v19.1, which is now quite old. Moreover, the latest versions of dftbplus have changed quite a bit and have re-implemented how they support some of the optional components requested by the user. As such, we will have to update the Spack package to support the latest versions and fulfill this request using Spack. Despite the challenges with the current Spack packaging, it may be worthwhile to build and test dftbplus v19.1 anyway to compare against the latest versions as we will first build for the user via a custom build script(s). So, let's get started ... |
If you need to deploy a new application and/or update an existing one using Spack in one of SDSC's production instances, the first step is to check if we already have an existing spec ( https://github.com/search?q=repo%3Asdsc%2Fspack%20dftbplus&type=code As you can see, there are a number of spec build scripts we can use as our starting point to run our build test using our shared Spack instance configuration. Note, however, none of these build specs were deployed into production on Expanse --- we only have a copy in the older
dftbplus is not currently deployed on TSCC2 either.
|
Let's go ahead and select this spec build as our starting point, downloading it to our HOME directory.
|
And for reference, this is the state of the spec build script at this time, which may clearly change as part of this test build process.
|
To run the spec build job script in the shared Spack instance configuration, you only need to make minor modifications. Most importantly, you need to source the activation script.
|
Unfortunately, while the supporting dftd3-lib library is build and installed successfully, the build of dftbplus itself failed when the spec build job script was run.
|
Is there anything we're missing when deploying multiple shared instances within a user's HOME directory?
|
Create separate documentation for users and SDSC HPC and CSSI team members, who will need to use 'shared' Spack instances as part of their testing and validation process before submitting pull requests to the sdsc/spack repo's deployment branches.
The text was updated successfully, but these errors were encountered: