Skip to content
Todd Gamblin edited this page Sep 17, 2015 · 4 revisions

Participants

  • Todd Gamblin (LLNL)
  • ... TBD ...

News & Contributions

  1. Preliminary version of Lmod integration from alalazo's repo
  • Adds hierarchical module generation!
  • Haven't checked it out in detail yet, but will be working to merge this into develop
  1. Greg Becker's database branch has been integrated, awaiting a unit test before merging to develop
  • See becker33-database branch
  • This adds filesystem caching and avoids traversing an entire spack directory tree.
    • Speeds up spack find, other operations.
    • Will allow us to track external installations.
  • Things I added:
    • Database is keyed by DAG hashes
      • Re-hashes specs read from the filesystem with its hash to ensure that deps are read in and set up correctly.
    • Simplified file locking syntax. Client code can write:
      with spack.install_db.write_lock():
           # ... do stuff ...
      
    • Instead of:
      with Write_Lock_Instance(spack.install_db.lock, 60):
           # ... do stuff ...
      
  1. Matt has implemented the core support for external packages.
  • Allows simple use system MPI installs in Spack
  • MPI wrapper support updated -- exposes mpicc, mpicxx, etc. through known variables
    • versatile enough to allow packages to build with MPI compilers, regular compilers, or both.
      • Lots of different ways to build with MPI.
    • currently a convention but could be modified later to be a contract for virtual deps that provide MPI.
  1. Welcome Kitware to Spack!
  • We will be starting a collaboration with Kitware to package ParaView and to build more core functionality.
  • We'll be hashing out the details and posting as new stuff gets added.

Bugs

  • ... TBD ...

Discussion

  1. Database stuff
  • Are all the lock calls around DB access necessary?
  • Should the DB class just handle its own locking internally?
  • Todd kind of likes that better than exposing this to client code (e.g., commands)
  1. Collette has built all packages on Trinity
  • Has yet to link it with code.
  1. Collette soon porting to rzmist

  2. General Collette comments

  • Some packages need more portability (hard-coded paths, etc.)
  • Default CMake argument changes
    • Default release configuration is not desirable
    • RelWithDebInfo optimization level caused some packages to get different answers
    • make an easier way to change build type for cmake.
  • Make default cmake argument support more transparent
    • maybe add functions to a custom CMakeExecutable class to manipulate args like CMAKE_BUILD_TYPE
    • add a way to show default args more easily.
    • Make debug easier, e.g.:
        if '+debug' in spec:                                                                  
            cmake.enable_debug() 
    
    • more support in cmake executable for cmake-specific features, but try to keep build transparent too
      • Mike likes to be able to grep for cmake arg syntax.
  1. Better ways to change compiler flags (again!!)
  • Want to build lots of different compiler flag configurations.

    • Parameter studies, etc.
    • compare performance and numerics with different compiler flags
  • Collette wants:

    • to pass in a set of "default" flags to be applied generally to a build
    • to override these on a per-package basis in a build script.
    • to generate different hash versions based on these
  1. William Scullin has a grad students starting soon
  • Can coordinate offline on getting the student using spack
  • May have extra cycles.
Clone this wiki locally