From T3_KR_KNU
Jump to: navigation, search
(exec)
(컨테이너내에서 데이터 전송 오류가 발생할 때)
 
(33 intermediate revisions by 2 users not shown)
Line 36: Line 36:
  
 
=== 사용 예제 ===
 
=== 사용 예제 ===
 +
 +
==== <u>apptainer를 이용하여 cc7 프로그램 실행하기</u> ====
 +
 +
$ source /cvmfs/cms.cern.ch/cmsset_default.sh
 +
$ cmssw-
 +
cmssw-alma8  cmssw-cc7    cmssw-cs8    cmssw-el5    cmssw-el7    cmssw-el9    cmssw-fc39    cmssw-slc6
 +
cmssw-cc6    cmssw-cc8    cmssw-cs9    cmssw-el6    cmssw-el8    cmssw-env    cmssw-rocky8  cmssw-ubi8
 +
 +
$ cmssw-cc7
 +
Singularity> cat /etc/redhat-release
 +
CentOS Linux release 7.9.2009 (Core)
 +
 +
* cmssw-el8, cmssw-el9 등 본인이 원하는 환경을 실행할 수 있습니다.
 +
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.
  
 
==== crab3 실행 ====
 
==== crab3 실행 ====
  
 
===== <u># CMSSW 설치</u> =====
 
===== <u># CMSSW 설치</u> =====
  $ set SCRAM_ARCH=slc6_amd64_gcc481 // 아키텍쳐 설정
+
  $ set SCRAM_ARCH=slc7_amd64_gcc12 // 아키텍쳐 설정
  $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회
+
$ source /cvmfs/cms.cern.ch/cmsset_default.sh
  $ scramv1 project CMSSW CMSSW_7_2_1 // CMSSW 설치
+
  $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회
 +
  $ scramv1 project CMSSW CMSSW_13_3_3 // CMSSW 설치
  
 
===== <u># crab 환경 설정</u> =====
 
===== <u># crab 환경 설정</u> =====
Line 70: Line 85:
 
  >            --bind /cvmfs \
 
  >            --bind /cvmfs \
 
  >            --contain --ipc --pid \
 
  >            --contain --ipc --pid \
  >            /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu\:latest/
+
  >            /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4
 
  Singularity :~>
 
  Singularity :~>
   
+
  Singularity :~> python3
$ python
+
  Python 3.6.9 (default, Jan 26 2021, 15:33:00)
  Python 2.7.17 (default, Jul 20 2020, 15:37:01)
+
  [GCC 8.4.0] on linux
  [GCC 7.5.0] on linux2
+
  Type "help", "copyright", "credits" or "license" for more information.
  Type "help", "copyright", "credits" or "license" for more information.  
+
>>>
 
  >>> import os
 
  >>> import os
 
  >>> os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
 
  >>> os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
 
  >>>
 
  >>>
 
  >>> import tensorflow as tf
 
  >>> import tensorflow as tf
  /usr/local/lib/python2.7/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 ==  np.dtype(float).type`.
+
  >>>
  from ._conv import register_converters as _register_converters
+
 
  >>> hello = tf.constant('Hello, TensorFlow!')
 
  >>> hello = tf.constant('Hello, TensorFlow!')
  >>> sess = tf.Session()
+
  >>> print(hello.numpy())
>>> print sess.run(hello)
+
  b' Hello, TensorFlow!'
  Hello, TensorFlow!
+
 
  >>>
 
  >>>
 
  >>> a = tf.constant(15)
 
  >>> a = tf.constant(15)
 
  >>> b = tf.constant(10)
 
  >>> b = tf.constant(10)
  >>> print sess.run(a+b)
+
  >>> result = a + b
 +
>>> print(result.numpy())
 
  25
 
  25
>>> quit
 
Use quit() or Ctrl-D (i.e. EOF) to exit
 
 
  >>> quit()
 
  >>> quit()
 +
Singularity :~>
 +
Singularity :~> exit
 
  $
 
  $
$ exit
 
/bin/sh: 3: Cannot set tty process group (No such process)
 
  
 
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.
 
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.
Line 103: Line 115:
 
===== exec =====
 
===== exec =====
  
  $ cat HelloTensorflow2.py
+
  $ cat HelloTensorflow.py
 
  #!/usr/bin/python3
 
  #!/usr/bin/python3
 
   
 
   
Line 110: Line 122:
 
   
 
   
 
  import tensorflow as tf
 
  import tensorflow as tf
 
# TensorFlow 2.x는 즉시 실행(eager execution)이 기본 설정되어 있습니다.
 
tf.compat.v1.disable_eager_execution()
 
 
 
  hello = tf.constant('Hello, TensorFlow!')
 
  hello = tf.constant('Hello, TensorFlow!')
# tf.Session()은 tf.compat.v1.Session()으로 변경해야 합니다.
+
  print(hello.numpy())
sess = tf.compat.v1.Session()
+
  print(sess.run(hello))
+
 
   
 
   
 
  a = tf.constant(15)
 
  a = tf.constant(15)
 
  b = tf.constant(10)
 
  b = tf.constant(10)
  print(sess.run(a + b))
+
result = a + b
 +
  print(result.numpy())
  
$ cat HelloTensorflow.py
 
#!/usr/bin/python
 
 
import os
 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
 
 
import tensorflow as tf
 
hello = tf.constant('Hello, TensorFlow!')
 
sess = tf.Session()
 
print sess.run(hello)
 
 
a = tf.constant(15)
 
b = tf.constant(10)
 
print sess.run(a+b)
 
  
 
  $ apptainer exec \
 
  $ apptainer exec \
Line 142: Line 135:
 
  >            --bind /cvmfs \
 
  >            --bind /cvmfs \
 
  >            --contain --ipc --pid \
 
  >            --contain --ipc --pid \
  >               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \
+
  >             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4 \
  >               ./HelloTensorflow.py
+
  >             ./HelloTensorflow.py
  WARNING: Container does not have an exec helper script, calling './HelloTensorflow.py' directly
+
  'Hello, TensorFlow!'
/usr/local/lib/python2.7/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 ==  np.dtype(float).type`.
+
  from ._conv import register_converters as _register_converters
+
Hello, TensorFlow!
+
 
  25
 
  25
 +
$
  
 
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.
 
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.
Line 154: Line 145:
 
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===
 
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===
  
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.
+
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다.  
 +
 
 +
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)
  
 
  $ ls -Rt /cvmfs/singularity.opensciencegrid.org/
 
  $ ls -Rt /cvmfs/singularity.opensciencegrid.org/
 
  /cvmfs/singularity.opensciencegrid.org/:
 
  /cvmfs/singularity.opensciencegrid.org/:
  pycbc                    eicweb              chunshen1987          rocker        lscsoft         opencarp      jasonkwan
+
  lscsoft      pystamp     eic     eicweb     opencarp     htc     library     pycbc
xenonnt                  opensciencegrid    htc                    igwn          library          jeffersonlab  cmssw
+
rasa                      rjones30            teamcompas            star-bnl      fermilab        physino        anniesoft
+
mythril                  mjanssen2308        jetscape              valetov        engineren        reedcompbio    chiehlin0212
+
novaexperiment            npcooley            electronioncollider    computing     icecube          redtopexp     e1039
+
intel                    xevra              amnh                  4ndr85        wipac            cnatzke        sickleinafrica
+
bayeswave                drtmfigy            matyasosg              ecpe4s        nathanjmcl      egoodman      cody.messick
+
yannick.lecoeuche        snax                sylabsio              nvidia        pytorch          lammps        gromacs
+
continuumio              mintproject        ankushumn              nnesquivelr    biocontainers    xwcl          houpengg
+
ncbi                      comses              jcha40                ericmjonas    gapscr          jagault        lmlepin9
+
michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410
+
bardelch                  luxzeplin          jinnian                beckermr      notredamedulac  agitter        nrstickley
+
ehtcon                    ttrent808          eventhorizontelescope  fasthep        wrenchproject    rtikid        egstern
+
mu2e                      lucarvirgo          atanasi                htcondor      astrand          brainlife     chaitanyaafle
+
duncanabrown              sugwg              cyverse                evolinc        jbustamante35    discoenv      dajunluo
+
nxdens                    nipreps            poldracklab            markito3      atlas            lincolnbryant  cmsl1tanalysis
+
clelange                  kreczko            efajardo              bbockelm      raygunkennesaw  argonneeic    whit2333
+
rhughwhite                lifebitai          ppaschos              yxfu93        weiphy          weiminghu123  vedularaghu
+
syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09     shilpac
+
researchcomputing        relugzosiraba      rafaelnalin            parabola505    npavlovikj      npanicker     nkern
+
nipy                      molssi              mfrayer                m8zeng        leofang          k3jph          kai2019
+
justbennet                jml230              jonlam                jiahe58        jborrel00        jasoncpatton  jamessaxon
+
huckb                    habg                goodgolden5            grassla        evbauer          econtal        dmbala
+
clkwisconsin              christinalk        cathrine98            cailmdaley    bpschenke        blibgober     blaylockbk
+
arnaudbecheler            areias              arburks                amogan        agladstein      adwasser      aahong
+
deltarod                  krespicio          djw8605                foldingathome  lukasheinrich    ssthapa        rynge
+
rinnocente                pegasus            paesanilab            ml4gw          alec.gunny      fastml        alan.knee
+
echoes-model-independent  lmxbcrosscorr      rhys.poulton          tessa.carver  rodrigo.tenorio  james-clark    joshua.willis
+
chekanov                  aei-tgr  cwinpy    matthew-pitkin        patrickrmiles  scipp-atlas     rucio
+
+
/cvmfs/singularity.opensciencegrid.org/pycbc:
+
pycbc-el8:latest  pycbc-el8:v2.3.7  pycbc-el8:v2.3.6  pycbc-el8:v2.3.5  pycbc-el8:v2.3.4    pycbc-el8:v2.3.3
+
pycbc-el8:v2.3.2  pycbc-el8:v2.3.1  pycbc-el8:v2.3.0  pycbc-el7:v1.18.3  pycbc-el7:v1.16.12 
+
+
/cvmfs/singularity.opensciencegrid.org/eicweb:
+
eic_xl:nightly                  jug_xl:nightly                jug_xl:24.05-stable                jug_xl:24.05.2-stable                        eic_xl:24.05-stable
+
eic_xl:24.05.2-stable          jug_xl:24.05.0-stable          eic_xl:24.05.0-stable              jug_xl:24.04-stable                          jug_xl:24.04.0-stable
+
eic_xl:24.04-stable            eic_xl:24.04.0-stable          jug_xl:24.03.1-stable              eic_xl:24.03.1-stable                        jug_xl:24.03-stable
+
jug_xl:24.03.0-stable          eic_xl:24.03-stable            eic_xl:24.03.0-stable              jug_xl:24.02.1-stable                        jug_xl:24.02-stable  jug_xl:24.02.0-stable
+
jug_xl:23.12-stable            jug_xl:23.12.0-stable          jug_xl:23.11.0-stable              jug_xl:23.11-stable                          jug_xl:23.10.0-stable
+
jug_xl:23.10-stable            jug_xl:23.09-stable            jug_xl:23.09.1-stable              jug_xl:23.09.0-stable                        jug_xl:main-epic-main-stable
+
jug_xl:master-epic-main-stable  jug_xl:23.08-stable            jug_xl:23.08.0-stable              jug_xl:unstable-mr-369-514-epic-main-stable  jug_xl:eic-container-set-juggler-version-epic-main-stable
+
jug_xl:23.07.2-stable          jug_xl:23.07.1-stable          jug_xl:23.07.0-stable              jug_xl:23.06.1-stable                        jug_xl:23.06.0-stable
+
jug_xl:23.05.2-stable          jug_xl:23.05.1-stable          jug_xl:23.05.0-stable              jug_xl:unstable-mr-369-512-epic-main-stable  jug_xl:3.0-stable
+
jug_xl:4.0-acadia-stable        jug_xl:4.0-deathvalley-stable  jug_xl:4.0-deathvalley-1.5T-stable  jug_xl:4.0-canyonlands-stable                jug_xl:4.0-main-stable
+
jug_xl:22.11-stable            jug_xl:22.11-main-stable      jug_xl:22.12-main-stable            jug_xl:23.02-main-stable
+
 
   
 
   
 
   ...
 
   ...
Line 209: Line 157:
 
   ...
 
   ...
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/library:
+
  /cvmfs/singularity.opensciencegrid.org/cwinpy:
  python:latest  julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8
+
  cwinpy-containers
alpine:latest  gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest
+
fedora:latest  openjdk:9      openjdk:8        openjdk:latest  python:2.7    python:3.4
+
centos:centos7  centos:centos6  centos:latest
+
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/jeffersonlab:
+
  /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:
  gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop
+
  cwinpy-dev-python38:latest
japan:latest  remoll:develop        remoll:latest
+
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/cmssw:
+
  /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:
cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64
+
  cwinpy-containers
  cms:rhel9-itb-x86_64  cms:rhel8-itb-x86_64  cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64
+
cms:rhel9-x86_64      cms:rhel8-x86_64      cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64
+
cms:rhel6-itb-x86_64  cms:rhel7-x86_64      cms:rhel6-x86_64      cms:rhel8-m-m20230425  cms:rhel8-m20200825
+
cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009
+
cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326
+
cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617
+
cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915
+
cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112
+
cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121
+
cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306
+
cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401
+
cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512
+
cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617
+
cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m
+
cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113
+
cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911
+
cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612
+
cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828
+
cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113
+
cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326
+
cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609
+
cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630
+
cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914
+
cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014
+
cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114
+
cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218
+
cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331
+
cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512
+
cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002
+
cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724
+
cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918
+
cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428
+
cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126
+
cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7
+
cms:rhel6
+
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/rasa:
+
  /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:
rasa-x:latest  rasa:latest  rasa:2.8.15
+
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/rjones30:
+
  /cvmfs/singularity.opensciencegrid.org/patrickrmiles:
gluextest:latest  gluex:latest  gluexpro8:latest
+
+
/cvmfs/singularity.opensciencegrid.org/teamcompas:
+
compas:02.49.01  compas:latest    compas:02.48.01  compas:02.49.00  compas:02.48.00  compas:02.47.01  compas:02.47.00
+
compas:02.46.05  compas:02.46.02  compas:02.46.03  compas:02.46.04  compas:02.46.01  compas:02.46.00  compas:02.45.00
+
compas:02.44.05  compas:02.44.03  compas:02.44.04  compas:02.44.02  compas:02.44.01  compas:02.44.00  compas:02.43.05
+
compas:02.43.04  compas:02.43.03  compas:02.43.02  compas:02.43.01  compas:02.43.00  compas:02.42.02  compas:02.42.01
+
compas:02.42.00  compas:02.41.06  compas:02.41.05  compas:02.41.04  compas:02.41.03  compas:02.41.02  compas:02.41.01
+
compas:02.41.00  compas:02.40.00  compas:02.39.01  compas:02.39.00  compas:02.38.08  compas:02.38.07  compas:02.38.05
+
compas:02.38.06  compas:02.38.04  compas:02.12.00  compas:02.12.01  compas:02.12.02  compas:02.12.03  compas:02.12.04
+
compas:02.12.05  compas:02.12.06  compas:02.12.07  compas:02.12.08  compas:02.13.00  compas:02.13.01  compas:02.13.02
+
compas:02.13.03  compas:02.13.04  compas:02.13.05  compas:02.13.06  compas:02.13.07  compas:02.13.08  compas:02.13.09
+
compas:02.13.10  compas:02.13.11  compas:02.13.12  compas:02.13.13  compas:02.13.14  compas:02.13.15  compas:02.14.00
+
compas:02.14.01  compas:02.15.00  compas:02.15.01  compas:02.15.02  compas:02.15.03  compas:02.15.04  compas:02.15.05
+
compas:02.15.06  compas:02.15.07  compas:02.15.08  compas:02.15.10  compas:02.15.11  compas:02.15.12  compas:02.15.13
+
compas:02.15.14  compas:02.15.15  compas:02.15.16  compas:02.15.17  compas:02.15.18  compas:02.15.19  compas:02.15.20
+
compas:02.16.00  compas:02.16.01  compas:02.16.02  compas:02.16.03  compas:02.16.04  compas:02.17.01  compas:02.17.02
+
compas:02.17.03  compas:02.17.09  compas:02.17.10  compas:02.17.11  compas:02.17.12  compas:02.17.13  compas:02.17.14
+
compas:02.17.15  compas:02.17.16  compas:02.17.17  compas:02.17.18  compas:02.17.19  compas:02.18.00  compas:02.18.01
+
compas:02.18.02  compas:02.18.03  compas:02.18.04  compas:02.18.05  compas:02.18.06  compas:02.18.07  compas:02.18.08
+
compas:02.18.09  compas:02.18.10  compas:02.19.00  compas:02.19.01  compas:02.19.02  compas:02.19.03  compas:02.19.04
+
compas:02.20.00  compas:02.20.01  compas:02.20.02  compas:02.21.00  compas:02.21.01  compas:02.22.00  compas:02.22.01
+
compas:02.22.02  compas:02.22.03  compas:02.23.00  compas:02.23.01  compas:02.24.00  compas:02.24.01  compas:02.24.02
+
compas:02.25.00  compas:02.25.01  compas:02.25.02  compas:02.25.03  compas:02.25.04  compas:02.25.05  compas:02.25.06
+
compas:02.25.07  compas:02.25.08  compas:02.25.09  compas:02.25.10  compas:02.26.00  compas:02.26.01  compas:02.26.02
+
compas:02.26.03  compas:02.27.00  compas:02.27.01  compas:02.27.02  compas:02.27.03  compas:02.27.04  compas:02.27.05
+
compas:02.27.06  compas:02.27.07  compas:02.27.08  compas:02.27.09  compas:02.28.00  compas:02.29.00  compas:02.30.00
+
compas:02.31.00  compas:02.31.01  compas:02.31.02  compas:02.31.03  compas:02.31.04  compas:02.31.05  compas:02.31.06
+
compas:02.31.07  compas:02.31.08  compas:02.31.09  compas:02.31.10  compas:02.32.00  compas:02.33.00  compas:02.33.01
+
compas:02.33.02  compas:02.34.00  compas:02.34.01  compas:02.34.02  compas:02.34.03  compas:02.34.04  compas:02.34.05
+
compas:02.34.06  compas:02.35.00  compas:02.35.01  compas:02.35.02  compas:02.35.03  compas:02.37.02  compas:02.37.03
+
compas:02.38.01  compas:02.38.02  compas:02.38.03
+
+
  ...
+
  <중략>
+
  ...
+
+
/cvmfs/singularity.opensciencegrid.org/novaexperiment:
+
el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest
+
slf67:latest                sl7:v1.1.0                    sl7:mpichdiy                        sl7:mini                                sl7:master
+
sl7:latest                  nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms
+
nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata  nova-sl7-novat2k:novatest          nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest
+
nova-sl7-novat2k:2020-10-27_freeze
+
+
/cvmfs/singularity.opensciencegrid.org/npcooley:
+
synextend:1.18.1  synextend:1.18.0  synextend:1.12.0  synextend:1.10.2  synextend:1.3.2  synextend:1.3.3  synextend:1.3.4
+
synextend:1.3.5  synextend:1.7.6  synextend:1.7.7  synextend:1.7.8  synextend:1.7.10  synextend:1.7.11  synextend:1.7.14
+
synextend:1.8.1  synextend:1.8.2  synextend:1.8.3  synextend:1.8.4  synextend:1.8.6  synextend:1.10.1  synextend:latest
+
phylosim:latest  deepec:latest    heron:latest
+
+
  ...
+
  <중략>
+
  ...
+
+
/cvmfs/singularity.opensciencegrid.org/nvidia:
+
opencl:runtime-ubuntu16.04
+
+
/cvmfs/singularity.opensciencegrid.org/pytorch:
+
pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel
+
+
/cvmfs/singularity.opensciencegrid.org/lammps:
+
lammps:stable_29Sep2021_centos7_openmpi_py3
+
+
/cvmfs/singularity.opensciencegrid.org/gromacs:
+
gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                  gromacs:ci-clang-tidy                gromacs:ci-clang-tidy-builder
+
gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6
+
gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                    gromacs:ci-clang-7                    gromacs:ci-clang-8
+
gromacs:dev                          gromacs:TEST2020612                  gromacs:gmx-2020.2-cuda-10.2-SSE2      gromacs:gmx-2020.2-cuda-10.2-AVX_512  gromacs:gmx-2020.2-cuda-10.2-AVX2_256
+
gromacs:gmx-2020.2-cuda-10.2-AVX_256  gromacs:gmx-2020.3-cuda-10.2-AVX_256  gromacs:gmx-2020.3-cuda-10.2-AVX2_256  gromacs:gmx-2020.3-cuda-10.2-SSE2    gromacs:gmx-2020.3-cuda-10.2-AVX_512
+
gromacs:gmx-2020.3-cuda-10.2          gromacs:gmx-2020.2-cuda-10.1          gromacs:2019                          gromacs:2019.1                        gromacs:gmx-2020.2-cuda-10.1-avx2
+
gromacs:gmx-2020.2-cuda-10.1-sse2    gromacs:gmx-2020.2-cuda-10.1-avx      gromacs:2020.2                        gromacs:gmx-2020.6-cuda-10.1-avx2    gromacs:gmx-2020.6-cuda-10.1-avx
+
gromacs:gmx-2020.6-cuda-10.1-sse2    gromacs:2020.6                        gromacs:gmx-2021.4-cuda-10.1-avx      gromacs:gmx-2021.4-cuda-10.1-avx2    gromacs:gmx-2021.4-cuda-10.1-sse2
+
gromacs:2021.4                        gromacs:gmx-2021.5-cuda-10.1-avx2    gromacs:gmx-2021.5-cuda-10.1-avx      gromacs:gmx-2021.5-cuda-10.1-sse2    gromacs:gmx-2021.5-cuda-11.6.0-sse2
+
gromacs:gmx-2021.5-cuda-11.6.0-avx2  gromacs:gmx-2021.5-cuda-11.6.0-avx    gromacs:2021.5                        gromacs:gmx-2022-cuda-11.6.0-sse2    gromacs:gmx-2022-cuda-11.6.0-avx
+
gromacs:gmx-2022-cuda-11.6.0-avx2    gromacs:2022  gromacs:fftw-3.3.8    gromacs:gmx-2022.2-cuda-11.6.0-avx2    gromacs:gmx-2022.2-cuda-11.6.0-avx
+
gromacs:gmx-2022.2-cuda-11.6.0-sse2  gromacs:2022.2  gromacs:latest
+
+
/cvmfs/singularity.opensciencegrid.org/continuumio:
+
anaconda:latest
+
+
/cvmfs/singularity.opensciencegrid.org/mintproject:
+
droughtindices:latest  topoflow:36_viz      topoflow:latest_viz  topoflow:v1_viz          topoflow:floodseverityindex_v1
+
topoflow:36            topoflow:v2          topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1
+
topoflow:2.2.0        topoflow:2.1.0        topoflow:latest      modflow-2005:latest      mintviz:latest
+
pihm2cycles:1.1        pihm2cycles:1.2      sentinel:latest      hand:develop              hand:v2
+
hand:v2.1.0            hand:v1              hand:latest          kimetrica:latest          economic:v2
+
economic:v5            economic:latest      dssat:latest        cycles:0.9.4-alpha        cycles:0.9.3-alpha
+
cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1    floodseverityindex:latest
+
base-ubuntu18:latest  base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0
+
pihm:v2                pihm:v4              pihm:latest
+
+
/cvmfs/singularity.opensciencegrid.org/markito3:
+
gluex_docker_prod:latest  gluex_docker_devel:latest
+
+
/cvmfs/singularity.opensciencegrid.org/atlas:
+
athanalysis:21.2.4  analysisbase:21.2.4
+
+
/cvmfs/singularity.opensciencegrid.org/lincolnbryant:
+
atlas-wn:latest
+
+
  ...
+
  <중략>
+
  ...
+
 
   
 
   
  /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:
+
  /cvmfs/singularity.opensciencegrid.org/scipp-atlas:
  cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04
+
  mario-mapyde
 
   
 
   
 
  /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:
 
  /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:
Line 380: Line 185:
 
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.
 
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.
 
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.
 
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.
 +
 +
=== <u>컨테이너내에서 데이터 전송 오류가 발생할 때</u> ===
 +
 +
* xrdcp 나 데이터 전송시 다음과 같은 오류가 발생한다면
 +
Run: [FATAL] TLS error: resource temporarily unavailable: Unable to connect to cluster142.knu.ac.kr; error_ssl (destination)
 +
 +
* 컨테이너에서 xrdcp 실행전에 다음 환경변수를 추가해줘야합니다.
 +
export X509_CERT_DIR=/cvmfs/grid.cern.ch/etc/grid-security/certificates
 +
 +
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===
 +
 +
* [[HTCondor#Apptainer.28Singularity.29.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.98.EC.97.AC_.EC.BD.94.EB.93.9C_.EC.8B.A4.ED.96.89|HTCondor에서 apptainer를 이용하여 코드 실행하기]]
  
 
=== 참고문서 ===
 
=== 참고문서 ===

Latest revision as of 02:32, 17 July 2025

Apptainer 사용법

컨테이너란?

  • vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다.
  • 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.
  • 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.
  • 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.

컨테이너의 장점?

  • 프로그램의 배포 및 설치가 쉽습니다.
    • 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다.
    • 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.
  • OS 환경과 독립적인 실행환경을 구축할 수 있습니다.
    • ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.
  • 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.

Apptainer란?

Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.

기본 사용법

exec

apptainer exec 컨테이너이미지 실행명령
  • 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.

shell

apptainer shell 컨테이너이미지
  • 컨테이너 안에 interactive shell을 생성합니다.

사용 예제

apptainer를 이용하여 cc7 프로그램 실행하기

$ source /cvmfs/cms.cern.ch/cmsset_default.sh
$ cmssw-
cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6
cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8

$ cmssw-cc7
Singularity> cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
  • cmssw-el8, cmssw-el9 등 본인이 원하는 환경을 실행할 수 있습니다.
  • 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.

crab3 실행

# CMSSW 설치
$ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정
$ source /cvmfs/cms.cern.ch/cmsset_default.sh
$ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회
$ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치
# crab 환경 설정
$ source /cvmfs/cms.cern.ch/cmsset_default.sh
$ cmsenv
$ source /cvmfs/cms.cern.ch/crab3/crab.sh
# 작업 설정
$ vi crab3config.py
$ vi job.py
# Grid proxy 생성
$ voms-proxy-init --voms cms 
# 작업 실행
$ crab submit -c crab3config.py
# 작업 조회
$ crab status

tensorflow 실행하기

shell
$ apptainer shell \
>             --home $PWD:/srv \
>             --bind /cvmfs \
>             --contain --ipc --pid \
>             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4
Singularity :~>
Singularity :~> python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import os
>>> os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
>>>
>>> import tensorflow as tf
>>>
>>> hello = tf.constant('Hello, TensorFlow!')
>>> print(hello.numpy())
b' Hello, TensorFlow!'
>>>
>>> a = tf.constant(15)
>>> b = tf.constant(10)
>>> result = a + b
>>> print(result.numpy())
25
>>> quit()
Singularity :~> 
Singularity :~> exit
$
  • 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.
exec
$ cat HelloTensorflow.py
#!/usr/bin/python3

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
print(hello.numpy())

a = tf.constant(15)
b = tf.constant(10)
result = a + b
print(result.numpy())


$ apptainer exec \
>             --home $PWD:/srv \
>             --bind /cvmfs \
>             --contain --ipc --pid \
>             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4 \
>             ./HelloTensorflow.py
'Hello, TensorFlow!'
25
$ 
  • shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.

CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지

2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다.

※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)

$ ls -Rt /cvmfs/singularity.opensciencegrid.org/
/cvmfs/singularity.opensciencegrid.org/:
lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc

 ...
 <중략>
 ...

/cvmfs/singularity.opensciencegrid.org/cwinpy:
cwinpy-containers

/cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:
cwinpy-dev-python38:latest

/cvmfs/singularity.opensciencegrid.org/matthew-pitkin:
cwinpy-containers

/cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:

/cvmfs/singularity.opensciencegrid.org/patrickrmiles:

/cvmfs/singularity.opensciencegrid.org/scipp-atlas:
mario-mapyde

/cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:

/cvmfs/singularity.opensciencegrid.org/rucio:
igwn-rucio-client

/cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:

경북대 UI에서 사용시 주의사항

  • 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.
  • 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.
  • cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.

컨테이너내에서 데이터 전송 오류가 발생할 때

  • xrdcp 나 데이터 전송시 다음과 같은 오류가 발생한다면
Run: [FATAL] TLS error: resource temporarily unavailable: Unable to connect to cluster142.knu.ac.kr; error_ssl (destination)
  • 컨테이너에서 xrdcp 실행전에 다음 환경변수를 추가해줘야합니다.
export X509_CERT_DIR=/cvmfs/grid.cern.ch/etc/grid-security/certificates

HTCondor에서 apptainer를 이용하여 코드 실행하기

참고문서