diff --git a/EM/crYOLO/files/variants b/EM/crYOLO/files/variants index 7dc6e35..92b226c 100644 --- a/EM/crYOLO/files/variants +++ b/EM/crYOLO/files/variants @@ -1,3 +1,5 @@ crYOLO/1.2.3 unstable cuda/9.0.176 crYOLO/1.5.6_gpu unstable anaconda/2019.07 +crYOLO/1.6.1_gpu unstable anaconda/2019.07 +crYOLO/1.6.1_cpu unstable anaconda/2019.07 diff --git a/EM/crYOLO/modulefile b/EM/crYOLO/modulefile index 596f793..41cf27a 100644 --- a/EM/crYOLO/modulefile +++ b/EM/crYOLO/modulefile @@ -26,19 +26,28 @@ convolutional neural networks and utilizes the popular You Only Look Once set shelltype [module-info shelltype] switch -- $shelltype { "sh" { + puts stdout "source \"\${ANACONDA_PREFIX}\"/admintools/conda_setup.sh;\n" } default { puts stderr "Shells of type '$shelltype' are NOT supported!" } } -#set useflag [string map {{:} {}} $USEFLAGS] -#puts stderr "conda activate cryolo-${V_PKG}-${USEFLAGS%\n" +# Determine useflags and construct conda env name +set list [split $V "_"] +set version [lindex ${list} 0] +set useflags [lrange ${list} 1 end] +set flavour [lindex $useflags 0] +set env_to_activate [string tolower ${P}]-${version}-${flavour} + +#puts stderr "P/V: $P/$V" +#puts stderr "USEFLAG: [lindex $useflags 0]" +#puts stderr "$env_to_activate" switch [module-info mode] { "load" { # Relies on the anaconda module being loaded since we need to update the path - puts stdout "conda activate cryolo-1.5.6-gpu;\n" + puts stdout "conda activate $env_to_activate;\n" } "unload" - "remove" { diff --git a/Programming/anaconda/2019.07/conda-env-defs/cryolo/README.md b/Programming/anaconda/2019.07/conda-env-defs/cryolo/README.md index 46e620a..18c111c 100644 --- a/Programming/anaconda/2019.07/conda-env-defs/cryolo/README.md +++ b/Programming/anaconda/2019.07/conda-env-defs/cryolo/README.md @@ -2,7 +2,8 @@ IMPORTANT! DON'T INSTALL WITH AURISTOR. Use an OpenAFS system (e.g. pmod6) - export TMPDIR=/opt/tmp/bliven_s + export TMPDIR=/opt/tmp/$USER + export XDG_CACHE_HOME=/opt/tmp/$USER/.cache CONDA_COPY_ALWAYS=1 conda env create --file cryolo.yml conda activate cryolo diff --git a/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo.yml b/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-cpu.yml similarity index 77% rename from Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo.yml rename to Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-cpu.yml index 42b1fe6..284af71 100644 --- a/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo.yml +++ b/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-cpu.yml @@ -1,4 +1,4 @@ -name: cryolo-1.5.6-gpu +name: cryolo-1.6.1-cpu channels: - defaults dependencies: @@ -11,4 +11,4 @@ dependencies: - intel-openmp==2019.4 - pip - pip: - - cryolo[gpu]==1.5.6 + - cryolo[cpu]==1.6.1 diff --git a/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-gpu.yml b/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-gpu.yml new file mode 100644 index 0000000..ec523e2 --- /dev/null +++ b/Programming/anaconda/2019.07/conda-env-defs/cryolo/cryolo-gpu.yml @@ -0,0 +1,14 @@ +name: cryolo-1.6.1-gpu +channels: + - defaults +dependencies: + - python=3.6 + - pyqt=5 + - cudnn=7.1.2 + - numpy==1.14.5 + - cython + - wxPython==4.0.4 + - intel-openmp==2019.4 + - pip + - pip: + - cryolo[gpu]==1.6.1 diff --git a/Programming/anaconda/files/admintools/conda_setup.sh b/Programming/anaconda/files/admintools/conda_setup.sh new file mode 100644 index 0000000..6ff904f --- /dev/null +++ b/Programming/anaconda/files/admintools/conda_setup.sh @@ -0,0 +1,14 @@ +# simulate `conda init` type hook +# Expects CONDA_EXE and CONDA_PREFIX to be set +__conda_setup="$("${CONDA_EXE:-conda}" 'shell.bash' 'hook' 2> /dev/null)" +if [ $? -eq 0 ]; then + eval "$__conda_setup" +else + if [ -f "${CONDA_PREFIX:?CONDA_PREFIX not set}/etc/profile.d/conda.sh" ]; then + . "${CONDA_PREFIX}/etc/profile.d/conda.sh" + else + export PATH="${CONDA_PREFIX}/bin:$PATH" + fi +fi +unset __conda_setup + diff --git a/Programming/anaconda/files/admintools/kernelwrapper.sh b/Programming/anaconda/files/admintools/kernelwrapper.sh new file mode 100755 index 0000000..24268dd --- /dev/null +++ b/Programming/anaconda/files/admintools/kernelwrapper.sh @@ -0,0 +1,27 @@ +#!/bin/bash +dbgecho() { + DBGLOG=/tmp/kernelwrapper-${USER}.log + if [[ $DEBUG_JUPYTER_WRAPPER == 1 ]]; then + echo "$1" >> $DBGLOG + fi +} + +DATE=$(date +%Y-%m-%dT%H:%M) +dbgecho "$DATE: $@" + +# ensure that module commands are available +dbgecho "sourcing profile.bash" +source /opt/psi/config/profile.bash + +dbgecho "sourcing conda.sh" +source /opt/psi/Programming/anaconda/2019.07/conda/etc/profile.d/conda.sh &>> $DBGLOG + +dbgecho "Running activate" +conda activate $1 + +# undefine module command since it causes error in the notebook when using +# shell escapes +unset -f module +shift +exec "$@" + diff --git a/Programming/anaconda/modulefile b/Programming/anaconda/modulefile index 899b652..3afbc1c 100644 --- a/Programming/anaconda/modulefile +++ b/Programming/anaconda/modulefile @@ -57,7 +57,8 @@ switch [module-info mode] { # but we need to prevent conflicts with a conda from a different source. # puts stderr "DEBUG: Using conda from $P/$V\n" - puts stdout "source \"$PREFIX/conda/etc/profile.d/conda.sh\";\n" + #puts stdout "source \"$PREFIX/conda/etc/profile.d/conda.sh\";\n" + puts stdout "source $PREFIX/admintools/conda_setup.sh;\n" # Activate base? No: anaconda should just provide the conda tool #puts stdout "conda activate;\n"