From T3_KR_KNU
Jump to: navigation, search
(CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지)
(컨테이너내에서 데이터 전송 오류가 발생할 때)
 
(59 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.
 
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.
 
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다.  
 
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다.  
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능
+
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.
 
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.
 
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.
  
Line 25: Line 25:
 
==== exec ====
 
==== exec ====
  
  Apptainer exec 컨테이너이미지 실행명령
+
  apptainer exec 컨테이너이미지 실행명령
  
 
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.
 
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.
Line 31: Line 31:
 
==== shell ====
 
==== shell ====
  
  Apptainer shell 컨테이너이미지
+
  apptainer shell 컨테이너이미지
  
 
* 컨테이너 안에 interactive shell을 생성합니다.
 
* 컨테이너 안에 interactive shell을 생성합니다.
Line 37: Line 37:
 
=== 사용 예제 ===
 
=== 사용 예제 ===
  
 +
==== <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 등 본인이 원하는 환경을 실행할 수 있습니다.
 +
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.
  
==== <u>CentOS 7 환경에서 Scientific Linux 6 프로그램 실행하기</u> ====
+
==== crab3 실행 ====
  
===== cmssw-cc7 =====
+
===== <u># CMSSW 설치</u> =====
 +
$ 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 설치
  
 +
===== <u># crab 환경 설정</u> =====
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh
 
  $ source /cvmfs/cms.cern.ch/cmsset_default.sh
  $ cmssw-slc6
+
  $ cmsenv
  Singularity> cat /etc/redhat-release
+
  $ source /cvmfs/cms.cern.ch/crab3/crab.sh
CentOS release 6.10 (Final)
+
  
===== <u>crab3</u> =====
+
===== <u># 작업 설정</u> =====
 +
$ vi crab3config.py
 +
$ vi job.py
  
$ source /cvmfs/cms.cern.ch/cmsset_default.sh
+
===== <u># Grid proxy 생성</u> =====
$ cmssw-slc6
+
  $ voms-proxy-init --voms cms
Singularity> # CMSSW 설치
+
 
Singularity> ...
+
===== <u># 작업 실행</u> =====
  Singularity> # Grid 환경 설정
+
  $ crab submit -c crab3config.py
Singularity> source /cvmfs/grid.cern.ch/emi-ui-3.7.3-1_sl6v2/etc/profile.d/setup-emi3-ui-example.sh
+
 
Singularity> # Crab3 환경 설정
+
===== <u># 작업 조회</u> =====
Singularity> source /cvmfs/cms.cern.ch/crab3/crab.sh
+
$ crab status
  Singularity> crab submit -c crab3config.py
+
  
 
==== tensorflow 실행하기 ====
 
==== tensorflow 실행하기 ====
Line 65: Line 81:
 
===== shell =====
 
===== shell =====
  
  $ singularity shell \
+
  $ apptainer shell \
 
  >            --home $PWD:/srv \
 
  >            --home $PWD:/srv \
 
  >            --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
  Singularity: Invoking an interactive shell within container...
+
  Singularity :~>
   
+
  Singularity :~> python3
$ python
+
  Python 3.6.9 (default, Jan 26 2021, 15:33:00)
  Python 2.7.12 (default, Dec  4 2017, 14:50:18)
+
  [GCC 8.4.0] on linux
  [GCC 5.4.0 20160609] on linux2
+
 
  Type "help", "copyright", "credits" or "license" for more information.
 
  Type "help", "copyright", "credits" or "license" for more information.
 
  >>>
 
  >>>
Line 81: Line 96:
 
  >>>
 
  >>>
 
  >>> 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 104: Line 116:
  
 
  $ cat HelloTensorflow.py
 
  $ cat HelloTensorflow.py
  #!/usr/bin/python
+
  #!/usr/bin/python3
 
   
 
   
 
  import os
 
  import os
Line 111: Line 123:
 
  import tensorflow as tf
 
  import tensorflow as tf
 
  hello = tf.constant('Hello, TensorFlow!')
 
  hello = tf.constant('Hello, TensorFlow!')
  sess = tf.Session()
+
  print(hello.numpy())
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())
  
  $ singularity exec \
+
 
 +
  $ apptainer exec \
 
  >            --home $PWD:/srv \
 
  >            --home $PWD:/srv \
 
  >            --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 코드를 파일로 만들어 실행합니다.
  
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===
+
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===
  
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.
+
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
+
  /cvmfs/singularity.opensciencegrid.org/cwinpy:
  yannick.lecoeuche        snax                sylabsio              nvidia        pytorch          lammps        gromacs
+
  cwinpy-containers
  continuumio              mintproject        ankushumn              nnesquivelr    biocontainers    xwcl          houpengg
+
   
  ncbi                      comses              jcha40                ericmjonas    gapscr          jagault        lmlepin9
+
  /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:
  michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410
+
  cwinpy-dev-python38:latest
  bardelch                  luxzeplin          jinnian                beckermr      notredamedulac  agitter        nrstickley
+
   
  ehtcon                    ttrent808          eventhorizontelescope  fasthep        wrenchproject    rtikid        egstern
+
  /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:
  mu2e                      lucarvirgo          atanasi                htcondor      astrand          brainlife      chaitanyaafle
+
  cwinpy-containers
  duncanabrown              sugwg              cyverse                evolinc        jbustamante35    discoenv      dajunluo
+
   
  nxdens                    nipreps            poldracklab            markito3      atlas            lincolnbryant  cmsl1tanalysis
+
  /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:
  clelange                  kreczko            efajardo              bbockelm      raygunkennesaw  argonneeic    whit2333
+
   
  rhughwhite                lifebitai          ppaschos              yxfu93        weiphy          weiminghu123  vedularaghu
+
  /cvmfs/singularity.opensciencegrid.org/patrickrmiles:
  syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac
+
   
  researchcomputing        relugzosiraba      rafaelnalin            parabola505    npavlovikj      npanicker      nkern
+
  /cvmfs/singularity.opensciencegrid.org/scipp-atlas:
  nipy                      molssi              mfrayer                m8zeng        leofang          k3jph          kai2019
+
  mario-mapyde
  justbennet                jml230              jonlam                jiahe58        jborrel00        jasoncpatton  jamessaxon
+
   
  huckb                    habg                goodgolden5            grassla        evbauer          econtal        dmbala
+
  /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:
  clkwisconsin              christinalk        cathrine98            cailmdaley    bpschenke        blibgober      blaylockbk
+
   
  arnaudbecheler            areias              arburks                amogan        agladstein      adwasser      aahong
+
  /cvmfs/singularity.opensciencegrid.org/rucio:
  deltarod                  krespicio          djw8605                foldingathome  lukasheinrich    ssthapa        rynge
+
  igwn-rucio-client
rinnocente                pegasus            paesanilab            ml4gw          alec.gunny      fastml        alan.knee
+
  echoes-model-independent lmxbcrosscorr      rhys.poulton          tessa.carver  rodrigo.tenorio  james-clark    joshua.willis
+
  /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:
chekanov                  aei-tgr  cwinpy    matthew-pitkin        patrickrmiles  scipp-atlas      rucio
+
  
/cvmfs/singularity.opensciencegrid.org/pycbc:
+
=== 경북대 UI에서 사용시 주의사항 ===
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:
+
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.
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
+
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.
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
+
  
/cvmfs/singularity.opensciencegrid.org/chunshen1987:
+
=== <u>컨테이너내에서 데이터 전송 오류가 발생할 때</u> ===
iebe-music:ubuntu-dev      iebe-music:dev              iebe-music:ubuntu-EoSGenerator  iebe-music:EoSGenerator    iebe-music:UPC
+
iebe-music:arXiv2405.19439  iebe-music:arXiv2405.20210  iebe-music:ubuntu-4DEoS        iebe-music:4DEoS            ipglasmaframework:UPC
+
iebe-music:ubuntu-test      iebe-music:test            iebe-music:ubuntu-main          iebe-music:main            iebe-music:bayesian2023
+
ipglasmaframework:latest    iebe-music:v0.0            iebe-music:v1.0                iebe-music:OSGselfchecking  iebe-music:SpinPol
+
iebe-music:photons
+
  
/cvmfs/singularity.opensciencegrid.org/rocker:
+
* xrdcp 나 데이터 전송시 다음과 같은 오류가 발생한다면
  r-ver:latest
+
  Run: [FATAL] TLS error: resource temporarily unavailable: Unable to connect to cluster142.knu.ac.kr; error_ssl (destination)
  
  /cvmfs/singularity.opensciencegrid.org/lscsoft:
+
* 컨테이너에서 xrdcp 실행전에 다음 환경변수를 추가해줘야합니다.
gstlal:master  bayeswave:latest  gstlal:osg-dev  lalsuite  bayeswave:v1.0.7  bayeswave:v1.0.6
+
  export X509_CERT_DIR=/cvmfs/grid.cern.ch/etc/grid-security/certificates
  
/cvmfs/singularity.opensciencegrid.org/lscsoft/lalsuite:
+
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===
lalsuite-v6.62:stretch  lalsuite-v6.62:el7  lalsuite-v6.60:stretch  lalsuite-v6.60:el7  lalsuite-v6.59:stretch  lalsuite-v6.59:el7
+
  
/cvmfs/singularity.opensciencegrid.org/opencarp:
+
* [[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를 이용하여 코드 실행하기]]
opencarp:latest
+
 
+
/cvmfs/singularity.opensciencegrid.org/jasonkwan:
+
autometa:latest
+
 
+
 
+
/cvmfs/singularity.opensciencegrid.org/xenonnt:
+
base-environment:development      base-environment:latest      montecarlo:development          montecarlo:latest                      base-environment:2024.05.2
+
base-environment:2024.05.1        montecarlo:2024.04.1-01      montecarlo:2024.04.1            base-environment:2024.04.1            montecarlo:2024.03.1
+
base-environment:2024.03.1        montecarlo:2024.02.1        base-environment:2024.02.1      base-environment:2024.01.1            base-environment:2023.11.1
+
base-environment:2023.10.1        montecarlo:fuse_dev_2023.09  montecarlo:2023_paris_tutorial  montecarlo:paris_workshop              montecarlo:2023.09.1
+
base-environment:2023.09.1        montecarlo:2023.07.2        montecarlo:sr0_wimp              base-environment:2023.07.2            base-environment:sr0_wimp
+
base-environment:sr0_wimp-alpha-1  base-environment:2023.07.1  base-environment:2023.05.2      montecarlo:2022.11.1-sr0              osg_dev:latest
+
montecarlo:py38                    montecarlo:2021.01.12        montecarlo:2021.08.1            montecarlo:2021.08.2                  montecarlo:2021.11.1
+
montecarlo:2022.01.4              montecarlo:2022.06.1        montecarlo:2022.06.3-wfsim1.0.1  montecarlo:2022.06.6-sr0              base-environment:2020.12.24
+
base-environment:2021.04.18        base-environment:testing    base-environment:2022.11.1      base-environment:switch_deployhq_user  base-environment:2022.06.6
+
base-environment:2022.06.5        base-environment:2022.06.4  base-environment:2022.09.1      base-environment:2020.11.06            base-environment:2020.11.25
+
base-environment:2020.12.21        base-environment:2020.12.23  base-environment:2021.01.04      base-environment:py38                  base-environment:2021.01.06
+
base-environment:2021.01.11        base-environment:2021.05.04  base-environment:2021.06.25      base-environment:2021.07.1            base-environment:2021.08.1
+
base-environment:2021.08.2        base-environment:2021.10.1  base-environment:2021.10.2      base-environment:straxen_v100          base-environment:2021.10.3
+
base-environment:2021.10.4        base-environment:2021.10.5  base-environment:2021.11.1      base-environment:2021.11.2            base-environment:2021.11.3
+
base-environment:2021.11.4        base-environment:2021.11.5  base-environment:2021.11.6      base-environment:gpu                  base-environment:2021.12.1
+
base-environment:2021.12.2        base-environment:2021.12.3  base-environment:2022.01.2      base-environment:2022.01.3            base-environment:2022.01.4
+
base-environment:2022.02.2        base-environment:2022.02.1  base-environment:2022.02.3      base-environment:2022.02.4            base-environment:2022.03.1
+
base-environment:2022.03.3        base-environment:2022.03.4  base-environment:stable          base-environment:2022.03.5            base-environment:2022.04.1
+
base-environment:2022.04.2        base-environment:2022.04.3  base-environment:2022.05.1      base-environment:2022.05.2            base-environment:2022.06.1
+
base-environment:2022.06.2        base-environment:2022.06.3  base-environment:2022.07.27      base-environment:add_latex            base-environment:latex_test3
+
base-environment:upgrade-boost
+
 
+
/cvmfs/singularity.opensciencegrid.org/opensciencegrid:
+
osgvo-xenon:development      osgvo-xenon:latest            osgvo-xenon:2024.05.2          osgvo-xenon:2024.05.1            osgvo-xenon:2024.04.1
+
osgvo-xenon:2024.03.1        osgvo-xenon:2024.02.1        osgvo-xenon:2024.01.1          osgvo-el7:latest                  osgvo-xenon:2023.11.1
+
osgvo-xenon:2023.10.1        osgvo-xenon:2023.09.1        osgvo-xenon:2023.07.2          osgvo-xenon:sr0_wimp              osgvo-xenon:sr0_wimp-alpha-1
+
osgvo-xenon:2023.07.1        osgvo-matlab-runtime:R2021b  osgvo-matlab-runtime:R2022b    osgvo-matlab-runtime:R2023a      osgvo-el9:latest
+
osgvo-el8:latest            osgvo-xenon:2023.05.2        osg-wn:3.3-el6                  osg-wn:3.3-el7                    osg-3.3-wn-el7:latest
+
osg-3.3-wn-el6:latest        tensorflow-gpu:1.4            tensorflow-gpu:2.3-cuda-10.1    tensorflow-gpu:2.2-cuda-10.1      tensorflow-gpu:latest
+
tensorflow:1.4              tensorflow:2.3                tensorflow:latest              osgvo-xenon:osg_dev              osgvo-ucsd-grover:latest
+
osgvo-ubuntu-xenial:latest  osgvo-ubuntu-20.04:latest    osgvo-ubuntu-18.04:latest      osgvo-torch:latest                osgvo-raspa2:2.0.41
+
osgvo-r:3.5                  osgvo-r:3.5.0                osgvo-r:4.0.2                  osgvo-r:latest                    osgvo-quantum-espresso:6.6
+
osgvo-quantum-espresso:6.8  osgvo-psi4:latest            osgvo-opensim:latest            osgvo-matlab-runtime:R2018b      osgvo-matlab-runtime:R2019a
+
osgvo-matlab-runtime:R2019b  osgvo-matlab-runtime:R2020a  osgvo-matlab-runtime:R2020b    osgvo-julia:1.5.3                osgvo-julia:1.0.3
+
osgvo-julia:1.7.3            osgvo-julia:latest            osgvo-gromacs-plumed:latest    osgvo-gromacs-gpu:latest          osgvo-gromacs:2018.4
+
osgvo-gromacs:2020.2        osgvo-gromacs:latest          osgvo-freesurfer:6.0.0          osgvo-freesurfer:6.0.1            osgvo-freesurfer:7.0.0
+
osgvo-freesurfer:7.1.1      osgvo-freesurfer:latest      osgvo-el7-cuda10:10.0          osgvo-el7-cuda10:10.1            osgvo-el7-cuda10:10.2
+
osgvo-el7-cuda10:latest      osgvo-el6-feltus:latest      osgvo-el6-cuda:latest          osgvo-el6:latest                  osgvo-debian-10:latest
+
osgvo-blaylockbk:latest      osgvo-biomedinfo:latest      osgvo-beagle:latest            osgvo-ants:latest                npjoodi:latest
+
osg-wn:3.3-devel-el7        osg-wn:3.3-testing-el7        osgvo-xenon:2022.11.1          osgvo-xenon:switch_deployhq_user  osgvo-xenon:2022.06.6
+
osgvo-xenon:2022.06.4        osgvo-xenon:2022.06.5        osgvo-xenon:2022.09.1          osgvo-xenon:2019.11              osgvo-xenon:2020.02
+
osgvo-xenon:2020.03          osgvo-xenon:2020.04          osgvo-xenon:2020.05            osgvo-xenon:2020.11.06            osgvo-xenon:2020.11.25
+
osgvo-xenon:2020.12.21      osgvo-xenon:2020.12.23        osgvo-xenon:straxen_0-13-1      osgvo-xenon:2021.01.04            osgvo-xenon:py38
+
osgvo-xenon:2021.01.06      osgvo-xenon:2021.01.11        osgvo-xenon:2021.04.18          osgvo-xenon:2021.05.04            osgvo-xenon:2021.06.25
+
osgvo-xenon:2021.07.1        osgvo-xenon:2021.08.1        osgvo-xenon:2021.08.2          osgvo-xenon:2021.10.1            osgvo-xenon:2021.10.2
+
osgvo-xenon:straxen_v100    osgvo-xenon:2021.10.3        osgvo-xenon:2021.10.4          osgvo-xenon:2021.10.5            osgvo-xenon:2021.11.1
+
osgvo-xenon:2021.11.2        osgvo-xenon:2021.11.3        osgvo-xenon:2021.11.4          osgvo-xenon:2021.11.5            osgvo-xenon:2021.11.6
+
osgvo-xenon:gpu              osgvo-xenon:2021.12.1        osgvo-xenon:2021.12.2          osgvo-xenon:2021.12.3            osgvo-xenon:2022.01.2
+
osgvo-xenon:2022.01.3        osgvo-xenon:2022.01.4        osgvo-xenon:2022.02.2          osgvo-xenon:2022.02.1            osgvo-xenon:2022.02.3
+
osgvo-xenon:2022.02.4        osgvo-xenon:2022.03.1        osgvo-xenon:2022.03.3          osgvo-xenon:2022.03.4            osgvo-xenon:stable
+
osgvo-xenon:2022.03.5        osgvo-xenon:2022.04.1        osgvo-xenon:2022.04.2          osgvo-xenon:2022.04.3            osgvo-xenon:2022.05.1
+
osgvo-xenon:2022.05.2        osgvo-xenon:2022.06.1        osgvo-xenon:2022.06.2          osgvo-xenon:2022.06.3            osgvo-xenon:2022.07.27
+
osgvo-xenon:add_latex        osgvo-xenon:latex_test3      osgvo-xenon:upgrade-boost
+
 
+
/cvmfs/singularity.opensciencegrid.org/htc:
+
ubuntu:22.04          ubuntu:20.04    tensorflow:2.15      scikit-learn:1.3  rocky:8-cuda-11.0.3  rocky:9  rocky:8
+
matlab-runtime:R2023a  gromacs:2023.4  debian:12  centos:7
+
 
+
/cvmfs/singularity.opensciencegrid.org/igwn:
+
lalsuite-dev:el7  software:el7-testing  software:el7  software:stretch-proposed  software:stretch
+
 
+
/cvmfs/singularity.opensciencegrid.org/library:
+
python:latest  julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8
+
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:
+
gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop
+
japan:latest  remoll:develop        remoll:latest
+
 
+
/cvmfs/singularity.opensciencegrid.org/cmssw:
+
cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64
+
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
+
 
+
=== 경북대 UI에서 사용시 주의사항 ===
+
 
+
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.
+
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.
+
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.
+
  
 
=== 참고문서 ===
 
=== 참고문서 ===
  
* Singularity 2.6 사용자 가이드 : https://www.sylabs.io/guides/2.6/user-guide/
+
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/
* Singularity 2.6 관리자 가이드 : https://www.sylabs.io/guides/2.6/admin-guide/
+
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/
* Singularity 3.0 사용자 가이드 : https://www.sylabs.io/guides/3.0/user-guide/
+
* Singularity 3.0 관리자 가이드 : https://www.sylabs.io/guides/3.0/admin-guide/
+

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를 이용하여 코드 실행하기

참고문서