Spaces:
Runtime error
Runtime error
fix: Apptainer build mount points and SLURM resource limits
Browse files- Add %setup section to create mount points before container init
- Use --no-mount home,tmp during build to prevent bind errors
- Increase FDR computation time to 4h and memory to 32GB
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- apptainer.def +12 -0
- scripts/slurm_build_apptainer.sh +3 -1
- scripts/slurm_compute_fdr_thresholds.sh +2 -2
apptainer.def
CHANGED
|
@@ -6,7 +6,19 @@ From: pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
|
|
| 6 |
Version 1.0
|
| 7 |
Description Conformal Protein Retrieval - Functional protein mining with statistical guarantees
|
| 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
%post
|
|
|
|
|
|
|
|
|
|
| 10 |
# Update and install system dependencies
|
| 11 |
apt-get update && apt-get install -y \
|
| 12 |
git \
|
|
|
|
| 6 |
Version 1.0
|
| 7 |
Description Conformal Protein Retrieval - Functional protein mining with statistical guarantees
|
| 8 |
|
| 9 |
+
%setup
|
| 10 |
+
# Create mount points in the container rootfs BEFORE the container is created
|
| 11 |
+
# This runs on the host and $APPTAINER_ROOTFS points to the container's root
|
| 12 |
+
# Required because the system may try to bind mount these paths during build
|
| 13 |
+
mkdir -p ${APPTAINER_ROOTFS}/shared
|
| 14 |
+
mkdir -p ${APPTAINER_ROOTFS}/scratch
|
| 15 |
+
mkdir -p ${APPTAINER_ROOTFS}/groups
|
| 16 |
+
mkdir -p ${APPTAINER_ROOTFS}/home
|
| 17 |
+
|
| 18 |
%post
|
| 19 |
+
# Ensure mount points exist (redundant but safe)
|
| 20 |
+
mkdir -p /shared /scratch /groups /home
|
| 21 |
+
|
| 22 |
# Update and install system dependencies
|
| 23 |
apt-get update && apt-get install -y \
|
| 24 |
git \
|
scripts/slurm_build_apptainer.sh
CHANGED
|
@@ -31,7 +31,9 @@ echo "Temp dir: $APPTAINER_TMPDIR"
|
|
| 31 |
echo ""
|
| 32 |
|
| 33 |
# Build the container
|
| 34 |
-
|
|
|
|
|
|
|
| 35 |
|
| 36 |
BUILD_STATUS=$?
|
| 37 |
|
|
|
|
| 31 |
echo ""
|
| 32 |
|
| 33 |
# Build the container
|
| 34 |
+
# Use --no-mount to disable automatic bind mounts during build
|
| 35 |
+
# This prevents "destination doesn't exist" errors from system-configured mounts
|
| 36 |
+
apptainer build --fakeroot --no-mount home,tmp cpr.sif apptainer.def
|
| 37 |
|
| 38 |
BUILD_STATUS=$?
|
| 39 |
|
scripts/slurm_compute_fdr_thresholds.sh
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
#SBATCH --nodes=1
|
| 5 |
#SBATCH --ntasks=1
|
| 6 |
#SBATCH --cpus-per-task=4
|
| 7 |
-
#SBATCH --mem=
|
| 8 |
-
#SBATCH --time=
|
| 9 |
#SBATCH --output=/groups/doudna/projects/ronb/conformal-protein-retrieval/logs/fdr_thresholds_%j.log
|
| 10 |
#SBATCH --error=/groups/doudna/projects/ronb/conformal-protein-retrieval/logs/fdr_thresholds_%j.err
|
| 11 |
|
|
|
|
| 4 |
#SBATCH --nodes=1
|
| 5 |
#SBATCH --ntasks=1
|
| 6 |
#SBATCH --cpus-per-task=4
|
| 7 |
+
#SBATCH --mem=32G
|
| 8 |
+
#SBATCH --time=04:00:00
|
| 9 |
#SBATCH --output=/groups/doudna/projects/ronb/conformal-protein-retrieval/logs/fdr_thresholds_%j.log
|
| 10 |
#SBATCH --error=/groups/doudna/projects/ronb/conformal-protein-retrieval/logs/fdr_thresholds_%j.err
|
| 11 |
|