Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

This page covers documentation about the conda release system for LCLS users.

Users need to do the following

...

Moreover it is possible that we install a package that is limited to rhel7. Today - the only such package is tensorflow.

New Packages and Updates

It is much easier to add new packages to the LCLS conda environments than the RPM releases. Please contact us - pcds-ana-l@slac.stanford.edu for requests. Packages that are:

  1. generally useful
  2. come from standard conda channels like continuum defaults or conda-forge
  3. do not introduce dependencies that interfere with psana

Will be straightforward to install.

Updating existing packages is straightforward - however we will always build new conda environments with a bumped up version number before changing an existing package.

User Conda Environments

A great way to experiment with a new package is to create your own conda environment and install it the package there (this is similar to using virtualenv). This will work fine for environments based on packages from continuum, conda-forge, etc. However if you want to create your own conda environment that includes LCLS software such as psana, i.e, something that looks like ana-1.0.7, but that you then extend, or our local build of openmpi or hdf5 there will be issues. We reccommend you look recommend you look the Psana Developer Documentation to see if a psana test release will fit your needs. If not, here are some issues:

  • You cannot use your environment If you will use these environments across rhel5, rhel6, and rhel7 - note that all user conda envs . All conda environments live in one place. If your environment will not work on all platforms, you will need to make three different environments and manage which one you activate. For instance, if you are going to put psana-conda in your environment, you should make three environments: ieYou could create three environments, a myenv-rhel5, myenv-rhel6 , and myenv-rhel7, myenv-rhel5however presently we do not include  rhel5/rhel6/rhel7 in our psana conda package names, consequently your three environments will all link to the same build of psana.
  • There are issues with the conda create --clone command (a natural way to extend an environment like ana-1.0.7), for instance, mpirun does not seem to be installed properly in the cloned environment
  • You need to define the environment variables SIT_ROOT and SIT_DATA for psana (look at the file /reg/g/psdm/sw/conda/inst/miniconda2-prod-rhel7/envs/ana-1.0.7/etc/conda/activate.d/env_vars.sh for an example of how).
  • The biggest issue, is that all 3GB of software in the LCLS conda environment will get copied into your home directory.

Supporting softlinks from user home directories to a central package repository is a feature under development at continuum. Users having to manage different environments for the three hosts is not reccommended. Users who need to Before users can create their own conda environments based on psana-condaa bad idea. Ifand the LCLS Data Analysis group could add better support for user conda environments if this is an important featureenvironment with psana that they run cross platform, we will need to do some development.