Skip to content
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

Improved developer experience #5

Open
3 of 5 tasks
aidanheerdegen opened this issue Aug 3, 2023 · 7 comments
Open
3 of 5 tasks

Improved developer experience #5

aidanheerdegen opened this issue Aug 3, 2023 · 7 comments
Assignees

Comments

@aidanheerdegen
Copy link
Member

aidanheerdegen commented Aug 3, 2023

[Updated 2023/11/24 - by harshula]

We need a good standard method for using spack to build software at NCI, ideally with the following attributes

A general user (read-only):

  • Don't need to git clone spack
  • ACCESS-NRI spack_packages are available

An advanced user (in addition to a general user's requirements, also needs to be able to write/create new packages):

  • System libraries are available and easy to use
  • Built packages are installed in the users own /g/data/ space
  • Read-only build cache available to speed up development time
@aidanheerdegen
Copy link
Member Author

Currently the steps to use spack require a number of steps, including cloning spack

ACCESS-NRI/ACCESS-OM2#6 (comment)

@aidanheerdegen
Copy link
Member Author

An example, and possible starting point:

https://forum.access-hive.org.au/t/shared-access-spack-configuration/227

@harshula harshula self-assigned this Nov 20, 2023
@harshula
Copy link
Collaborator

V2 of the Spack config has been merged and should help improve the developer experience: PR #6

@harshula
Copy link
Collaborator

Improved documentation in PR #10

@harshula
Copy link
Collaborator

According to the Spack documentation, chaining may not be applicable to us because we have an install_tree outside of the Spack base directory:

https://spack.readthedocs.io/en/latest/chain.html

You can point your Spack installation to another installation to use any packages that are installed there. To register the other Spack instance, you can add it as an entry to upstreams.yaml:

upstreams:
  spack-instance-1:
    install_tree: /path/to/other/spack/opt/spack
  spack-instance-2:
    install_tree: /path/to/another/spack/opt/spack

install_tree must point to the opt/spack directory inside of the Spack base directory.

@harshula
Copy link
Collaborator

harshula commented Nov 30, 2023

[23/04/2024: Refer to instructions on the ACCESS-Hive Forum]
https://forum.access-hive.org.au/t/how-to-build-access-om2-on-gadi/1545

@harshula
Copy link
Collaborator

Notes

I've noticed a subtle difference between spack dev-build and spack install. dev-build appears to obtain a stale path for the Spack instance. It's not from ~/.spack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants