From 82cbffc393e7e516e0f1f197e757d66cbf16886e Mon Sep 17 00:00:00 2001 From: 36000 Date: Sun, 7 Jan 2024 18:46:32 -0800 Subject: [PATCH] finally get singularity working --- gpu_docker/cuda_build.sh | 9 +++++++-- .../{cuda_track.def => cuda_track_template.def} | 15 ++------------- 2 files changed, 9 insertions(+), 15 deletions(-) rename gpu_docker/{cuda_track.def => cuda_track_template.def} (85%) diff --git a/gpu_docker/cuda_build.sh b/gpu_docker/cuda_build.sh index fcc0b21c3..5fb2d6afb 100755 --- a/gpu_docker/cuda_build.sh +++ b/gpu_docker/cuda_build.sh @@ -1,10 +1,15 @@ +#!/bin/bash + if [ $# -lt 1 ]; then echo "Error: At least one argument is required." exit 1 fi export AFQ_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" -export CUDA_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -apptainer build ${1} ${CUDA_DIR}/cuda_track.def +sed "s|PLACEHOLDER_FOR_PACKAGE_PATH|${AFQ_PATH}|g" ${AFQ_PATH}/gpu_docker/cuda_track_template.def > ${AFQ_PATH}/gpu_docker/_temp.def + +apptainer build ${1} ${AFQ_PATH}/gpu_docker/_temp.def + +rm ${AFQ_PATH}/gpu_docker/_temp.def diff --git a/gpu_docker/cuda_track.def b/gpu_docker/cuda_track_template.def similarity index 85% rename from gpu_docker/cuda_track.def rename to gpu_docker/cuda_track_template.def index b6a6f0c37..b1e881d85 100644 --- a/gpu_docker/cuda_track.def +++ b/gpu_docker/cuda_track_template.def @@ -1,17 +1,8 @@ Bootstrap: docker From: nvidia/cuda:12.0.1-devel-ubuntu20.04 -%pre - if [ -z "${AFQ_PATH}" ]; then - echo "Error: AFQ_PATH is not set." >&2 - exit 1 - else - echo "AFQ_PATH is set to '$AFQ_PATH'" - echo $AFQ_PATH > /tmp/afq_path.txt - fi - %files - /tmp/afq_path.txt /tmp/afq_path.txt + PLACEHOLDER_FOR_PACKAGE_PATH /opt/pyAFQ %environment export DEBIAN_FRONTEND=noninteractive @@ -64,9 +55,7 @@ From: nvidia/cuda:12.0.1-devel-ubuntu20.04 cd /opt/GPUStreamlines/build/cuslines && pip install -e . # Install pyAFQ - AFQ_PATH=$(cat /tmp/afq_path.txt) - pip install -e $AFQ_PATH - rm /tmp/afq_path.txt # Clean up the temporary file + pip install -e /opt/pyAFQ %runscript exec /opt/pyAFQ/bin/pyAFQ "$@"