<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://t2-cms.knu.ac.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Song</id>
	<title>T3_KR_KNU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://t2-cms.knu.ac.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Song"/>
	<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php/Special:Contributions/Song"/>
	<updated>2026-05-21T09:09:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3229</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3229"/>
		<updated>2025-05-09T09:02:04Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 최대 작업시간 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Apptainer(Singularity)를 이용하여 코드 실행&amp;lt;/u&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
==== el6(Scientific Linux 6) 코드 실행  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el7(CentOS Linux 7) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;el8(Rocky Linux 8) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el8:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el9(Rocky Linux 9) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr           20          5          0&lt;br /&gt;
 cms.knu.ac.kr   cms.knu.ac.kr             0          0          0&lt;br /&gt;
 cms01.knu.ac.kr cms01.knu.ac.kr           0          0          3&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr        1754          0          0&lt;br /&gt;
 cms03.knu.ac.kr cms03.knu.ac.kr         269        231          0&lt;br /&gt;
 dm.knu.ac.kr    dm.knu.ac.kr              0          0          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
         Total              2043                236                  3&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== request_memory 관련 ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분 !! 작업 특성  !! 최대 작업시간  !! 최대 실행 작업수  !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 80시간&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 100&lt;br /&gt;
| 테스트 작업 (JobType=short)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 7일&lt;br /&gt;
| 200&lt;br /&gt;
| 장기간 수행 작업 (JobType=long)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Heavy&lt;br /&gt;
| 80시간&lt;br /&gt;
| 500&lt;br /&gt;
| I/O 비번 작업 (JobType=heavy)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 7일&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 5&lt;br /&gt;
| 테스트 작업 (JobType=shrot)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! ``&lt;br /&gt;
| Long&lt;br /&gt;
| 14일&lt;br /&gt;
| 5&lt;br /&gt;
| 장기간 작업 (JobType=long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3228</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3228"/>
		<updated>2025-05-09T08:59:09Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 최대 작업시간 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Apptainer(Singularity)를 이용하여 코드 실행&amp;lt;/u&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
==== el6(Scientific Linux 6) 코드 실행  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el7(CentOS Linux 7) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;el8(Rocky Linux 8) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el8:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el9(Rocky Linux 9) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr           20          5          0&lt;br /&gt;
 cms.knu.ac.kr   cms.knu.ac.kr             0          0          0&lt;br /&gt;
 cms01.knu.ac.kr cms01.knu.ac.kr           0          0          3&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr        1754          0          0&lt;br /&gt;
 cms03.knu.ac.kr cms03.knu.ac.kr         269        231          0&lt;br /&gt;
 dm.knu.ac.kr    dm.knu.ac.kr              0          0          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
         Total              2043                236                  3&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== request_memory 관련 ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분 !! 작업 특성  !! 최대 작업시간  !! 최대 실행 작업수  !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 80시간&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 100&lt;br /&gt;
| 테스트 작업 (JobType=short)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Long&lt;br /&gt;
| 7일&lt;br /&gt;
| 200&lt;br /&gt;
| 장기간 수행 작업 (JobType=long)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Heavy&lt;br /&gt;
| 80시간&lt;br /&gt;
| 500&lt;br /&gt;
| I/O 비번 작업 (JobType=heavy)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 7일&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 5&lt;br /&gt;
| 테스트 작업 (JobType=shrot)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Long&lt;br /&gt;
| 14일&lt;br /&gt;
| 5&lt;br /&gt;
| 장기간 작업 (JobType=long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3227</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3227"/>
		<updated>2025-05-09T08:56:31Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 최대 작업시간 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Apptainer(Singularity)를 이용하여 코드 실행&amp;lt;/u&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
==== el6(Scientific Linux 6) 코드 실행  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el7(CentOS Linux 7) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;el8(Rocky Linux 8) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el8:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el9(Rocky Linux 9) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr           20          5          0&lt;br /&gt;
 cms.knu.ac.kr   cms.knu.ac.kr             0          0          0&lt;br /&gt;
 cms01.knu.ac.kr cms01.knu.ac.kr           0          0          3&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr        1754          0          0&lt;br /&gt;
 cms03.knu.ac.kr cms03.knu.ac.kr         269        231          0&lt;br /&gt;
 dm.knu.ac.kr    dm.knu.ac.kr              0          0          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
         Total              2043                236                  3&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== request_memory 관련 ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분 !! 작업 특성  !! 최대 작업시간  !! 최대 실행 작업수  !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 80시간&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Short&lt;br /&gt;
| 30분&lt;br /&gt;
| 100&lt;br /&gt;
| 테스트 작업 (JobType=short)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Long&lt;br /&gt;
| 7일&lt;br /&gt;
| 200&lt;br /&gt;
| 장기간 수행 작업 (JobType=long)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU Jobs&lt;br /&gt;
| Heavy&lt;br /&gt;
| 80시간&lt;br /&gt;
| 500&lt;br /&gt;
| I/O 비번 작업 (JobType=heavy)&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU Jobs&lt;br /&gt;
| Default&lt;br /&gt;
| 14일&lt;br /&gt;
| 제한 없음&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3226</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3226"/>
		<updated>2025-05-09T08:44:00Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 전체 작업 현황 살펴보기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Apptainer(Singularity)를 이용하여 코드 실행&amp;lt;/u&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
==== el6(Scientific Linux 6) 코드 실행  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el7(CentOS Linux 7) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;el8(Rocky Linux 8) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el8:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el9(Rocky Linux 9) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr           20          5          0&lt;br /&gt;
 cms.knu.ac.kr   cms.knu.ac.kr             0          0          0&lt;br /&gt;
 cms01.knu.ac.kr cms01.knu.ac.kr           0          0          3&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr        1754          0          0&lt;br /&gt;
 cms03.knu.ac.kr cms03.knu.ac.kr         269        231          0&lt;br /&gt;
 dm.knu.ac.kr    dm.knu.ac.kr              0          0          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
         Total              2043                236                  3&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== request_memory 관련 ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3225</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3225"/>
		<updated>2025-05-09T08:41:01Z</updated>

		<summary type="html">&lt;p&gt;Song: /* T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm, gsiftp,&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.84 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽고 쓸 수 있습니다. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
     CPU    Free Total Jobs      Running Waiting ComputingElement&lt;br /&gt;
    2221     247          2            0       0 ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type  SE&lt;br /&gt;
     193752733956   1665682774974  xroot cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile&lt;br /&gt;
 $ davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             root://cluster142.knu.ac.kr//store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameSrc    davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* &amp;lt;strike&amp;gt;1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&amp;lt;/strike&amp;gt;&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/MyAccount/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms ~]$ gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5 file:////u/user/MyAccount/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
 -rwxrwxrwx   0 0     0     4.8M Oct 12  2015 davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3224</id>
		<title>HTCondor</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=HTCondor&amp;diff=3224"/>
		<updated>2025-05-09T08:39:58Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 전체 작업 현황 살펴보기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTCondor Batch System 사용법 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tier-3 HTCondor UI 접속하기 ===&lt;br /&gt;
다음과 같이 터미널을 열어서 원격로그인(SSH)으로 접속합니다. &lt;br /&gt;
  ssh -X username@cms.knu.ac.kr&lt;br /&gt;
&lt;br /&gt;
=== Job submit ===&lt;br /&gt;
Job submit을 위해서는 다음과 같이 &amp;quot;condor_submit&amp;quot; 명령어를 사용합니다.&lt;br /&gt;
&lt;br /&gt;
* sleep.sh - 테스트 코드&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 TIMETOWAIT=&amp;quot;10&amp;quot;&lt;br /&gt;
 echo &amp;quot;sleeping for $TIMETOWAIT seconds&amp;quot;&lt;br /&gt;
 /bin/sleep $TIMETOWAIT&lt;br /&gt;
&lt;br /&gt;
* sleep.sub - 작업 명세 파일&lt;br /&gt;
 &lt;br /&gt;
 executable              = sleep.sh&lt;br /&gt;
 log                     = sleep.log&lt;br /&gt;
 output                  = outfile.txt&lt;br /&gt;
 error                   = errors.txt&lt;br /&gt;
 should_transfer_files   = Yes&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* job submit&lt;br /&gt;
&lt;br /&gt;
 condor_submit sleep.sub&lt;br /&gt;
&lt;br /&gt;
=== Job 상태 확인 === &lt;br /&gt;
&lt;br /&gt;
====condor_q ==== &lt;br /&gt;
작업의 상태 확인을 위해서는 &amp;quot;condor_q&amp;quot;명령을 사용합니다.&amp;lt;br&amp;gt;&lt;br /&gt;
전체 작업현황을 확인하려면 다음과 같이 실행하면 됩니다.&lt;br /&gt;
 &lt;br /&gt;
 $ condor_q&lt;br /&gt;
 -- Schedd: cms02.knu.ac.kr : &amp;lt;155.230.23.72:9618?... @ 07/30/20 16:49:47&lt;br /&gt;
 OWNER BATCH_NAME    SUBMITTED   DONE   RUN    IDLE  TOTAL JOB_IDS&lt;br /&gt;
 user001 ID: 51       7/30 16:47      _    100      _    100 51.0-99&lt;br /&gt;
 &lt;br /&gt;
 Total for query: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for hanbi: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
 Total for all users: 100 jobs; 0 completed, 0 removed, 0 idle, 100 running, 0 held, 0 suspended&lt;br /&gt;
&lt;br /&gt;
작업이 실행되지 않는다면 다음 명령으로 원인을 확인할 수 있습니다.&lt;br /&gt;
 $ condor_q -analyze 51.0&lt;br /&gt;
&lt;br /&gt;
 $ condor_q -better-analyze 51.0&lt;br /&gt;
&lt;br /&gt;
==== condor_wait ==== &lt;br /&gt;
condor_wait 는 사용자의 로그 파일을 모니터링하고, 작업의 진행 상태에 대한 정보를 추출합니다. 이 명령어는 특히 작업이 완료될 때까지 대기하며, 로그 파일을 통해 작업의 상태 변경을 추적할 수 있습니다. &lt;br /&gt;
 $ condor_wait -status job_121945.log&lt;br /&gt;
 121945.0.0 submitted&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 executing on host &amp;lt;155.230.21.74:9618?addrs=155.230.21.74-9618+[2407-c000-c024-0-e2cb-4eff-fe53ced7]-9618&amp;amp;alias=cluster27&lt;br /&gt;
 4.knu.ac.kr&amp;amp;noUDP&amp;amp;sock=startd_2946_4a18&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 121945.1.0 completed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====condor_tail ====&lt;br /&gt;
condor_tail은 HTCondor 시스템에서 실행 중인 작업의 표준 출력(standard output)과 표준 오류(standard error)를 실시간으로 확인할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
-f 옵션은 tail -f 와 동일한 기능을 제공합니다. &lt;br /&gt;
-stderr 옵션은 작업의 표준 오류 출력을 보여줍니다.&lt;br /&gt;
 $ condor_tail -f 121946.0&lt;br /&gt;
 Thinking really hard for 180 seconds...&lt;br /&gt;
 We calculated: 200&lt;br /&gt;
&lt;br /&gt;
====condor_ssh_to_job ====&lt;br /&gt;
condor_ssh_to_job을 사용하면 사용자가 실행 중인 작업의 노드로 SSH(보안 셸) 접속을 할 수 있으며, 작업 디렉토리에 직접 접근하여 현재 작업이 어떻게 진행되고 있는지 확인할 수 있습니다.&lt;br /&gt;
 $ condor_ssh_to_job 121946.0&lt;br /&gt;
 Welcome to slot1_1@cluster242.knu.ac.kr!&lt;br /&gt;
 Your condor job is running with pid(s) 21165.&lt;br /&gt;
 $ ls -al&lt;br /&gt;
 total 44&lt;br /&gt;
 drwx------   5 user001  cms     187 Mar 11 14:31 .&lt;br /&gt;
 drwxr-xr-x. 10 condor root    141 Mar 11 14:02 ..&lt;br /&gt;
 -rwx------   1 user001  cms      48 Mar 11 14:02 .chirp.config&lt;br /&gt;
 drwxr-xr-x   2 user001  cms     128 Mar 11 14:03 .condor_ssh_to_job_1&lt;br /&gt;
 -rw-r--r--   1 user001  cms       0 Mar 11 14:02 _condor_stderr&lt;br /&gt;
 -rw-r--r--   1 user001  cms      59 Mar 11 14:05 _condor_stdout&lt;br /&gt;
 -rw-r--r--   1 condor condor 4165 Mar 11 14:02 .job.ad&lt;br /&gt;
 -rw-r--r--   1 condor condor 6111 Mar 11 14:02 .machine.ad&lt;br /&gt;
 -rwxr-xr-x   1 user001  cms    8512 Mar 11 14:02 test&lt;br /&gt;
 drwx------   2 user001  cms       6 Mar 11 14:02 tmp&lt;br /&gt;
 -rw-r--r--   1 user001  cms    6157 Mar 11 14:31 .update.ad&lt;br /&gt;
 drwx------   3 user001  cms      17 Mar 11 14:02 var&lt;br /&gt;
&lt;br /&gt;
====condor_history ====&lt;br /&gt;
종료된 작업을 조회하려면 condor_history 명령을 사용합니다.&lt;br /&gt;
 $ condor_history -const &#039;Owner == &amp;quot;user001&amp;quot; &amp;amp;&amp;amp; JobStatus ==4&#039; -limit 5&lt;br /&gt;
  ID     OWNER          SUBMITTED   RUN_TIME     ST COMPLETED   CMD&lt;br /&gt;
 121946.9 user001           3/11 14:02   0+00:03:01 C   3/11 14:06 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.8 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.6 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.7 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
 121946.5 user001           3/11 14:02   0+00:03:01 C   3/11 14:05 /u/user/user001/condor/test 180 100&lt;br /&gt;
&lt;br /&gt;
특정 작업을 조회하려면 -l 옵션을 사용합니다.&lt;br /&gt;
 $ condor_history -l  121946.9&lt;br /&gt;
&lt;br /&gt;
=== Job 삭제 ===&lt;br /&gt;
submit 한 작업을 중간에 취소하기 위해서는 &amp;quot;condor_rm&amp;quot; 명령을 사용합니다.&lt;br /&gt;
 condor_rm &amp;lt;JOBID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 내 작업을 삭제하려면 다음 명령을 사용합니다.&lt;br /&gt;
&lt;br /&gt;
 condor_rm &amp;lt;UserID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 작업 명세 파일 예제 ===&lt;br /&gt;
&lt;br /&gt;
* 단독 실행&lt;br /&gt;
&lt;br /&gt;
 $ science.exe infile-A.txt infile-B.txt outfile.txt&lt;br /&gt;
&lt;br /&gt;
* science1.sub - 1개 작업 실행 &lt;br /&gt;
&lt;br /&gt;
 # science1.sub -- run one instance of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science1.log&lt;br /&gt;
 queue&lt;br /&gt;
&lt;br /&gt;
* science2.sub - 40개 작업 실행, Process 번호로 input, output 파일 구분&lt;br /&gt;
&lt;br /&gt;
 # science2.sub -- run 40 instances of science.exe&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-$(Process)A.txt infile-$(Process)B.txt outfile$(Process).txt&amp;quot;&lt;br /&gt;
 transfer_input_files    = infile-$(Process)A.txt,infile-$(Process)B.txt&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 log                     = science2.log&lt;br /&gt;
 queue 40&lt;br /&gt;
&lt;br /&gt;
* science3.sub  - 100개 실행 예제. Process 번호로 작업 디렉토리 구분&lt;br /&gt;
&lt;br /&gt;
 # science3.sub -- run 100 instances of science.exe, with&lt;br /&gt;
 #  unique directories named by the $(Process) macro&lt;br /&gt;
 executable              = science.exe&lt;br /&gt;
 arguments               = &amp;quot;infile-A.txt infile-B.txt outfile.txt&amp;quot;&lt;br /&gt;
 should_transfer_files   = IF_NEEDED&lt;br /&gt;
 when_to_transfer_output = ON_EXIT&lt;br /&gt;
 initialdir              = run$(Process)&lt;br /&gt;
 transfer_input_files    = infile-A.txt,infile-B.txt&lt;br /&gt;
 log                     = science3.log&lt;br /&gt;
 queue 100&lt;br /&gt;
&lt;br /&gt;
* geant4 실행 예제&lt;br /&gt;
&lt;br /&gt;
 $ cat run_geant4.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.3.0/x86_64-centos7/setup.sh&lt;br /&gt;
 source /cvmfs/geant4.cern.ch/geant4/10.6/x86_64-centos7-gcc8-optdeb/CMake-setup.sh&lt;br /&gt;
 ./$*&lt;br /&gt;
&lt;br /&gt;
 $ cat geant4.sub&lt;br /&gt;
 Universe = vanilla&lt;br /&gt;
 Log        = geant4_$(ClusterId).log&lt;br /&gt;
 Output     = geant4_$(ClusterId)_$(ProcId).out&lt;br /&gt;
 Error      = geant4_$(ClusterId)_$(ProcId).err&lt;br /&gt;
 Should_Transfer_Files = Yes&lt;br /&gt;
 When_To_Transfer_Output = ON_EXIT&lt;br /&gt;
 &lt;br /&gt;
 #Executable = &amp;lt;wrapper_script&amp;gt;.sh&lt;br /&gt;
 Executable = run_geant4.sh&lt;br /&gt;
 Transfer_Executable = True&lt;br /&gt;
 #Arguments = &amp;lt;Geant4 executable&amp;gt; &amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Arguments = exampleB1 exampleB1.in&lt;br /&gt;
 #Transfer_Input_Files = &amp;lt;Geant4 executable&amp;gt;,&amp;lt;input file(s)&amp;gt;&lt;br /&gt;
 Transfer_Input_Files = exampleB1, exampleB1.in&lt;br /&gt;
 &lt;br /&gt;
 Queue&lt;br /&gt;
&lt;br /&gt;
[[SFT#Geant4_10.6_.26_gcc83_.26_centos7| 위의 예제를 위한 geant4 설치 및 테스트는 여기를 클릭하세요.]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting Multiple Jobs with HTCondor ===&lt;br /&gt;
&lt;br /&gt;
복수의 input 파일을 이용하여 동시에 다수의 작업을 처리하고 싶다면 &lt;br /&gt;
[https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] 에서 52p에서부터 72p의 내용을 참고하시기 바랍니다&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;Apptainer(Singularity)를 이용하여 코드 실행&amp;lt;/u&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
==== el6(Scientific Linux 6) 코드 실행  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 +ContainerOS = &amp;quot;SL6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
혹은 선호하는 이미지가 있다면 아래와 같이 기입합니다.&lt;br /&gt;
&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/cmssw/cms:rhel6-m202001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el7(CentOS Linux 7) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el7:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
====  &amp;lt;u&amp;gt;el8(Rocky Linux 8) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el8:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;u&amp;gt;el9(Rocky Linux 9) 코드 실행&amp;lt;/u&amp;gt;  ====&lt;br /&gt;
submit description file에 아래 내용을 추가합니다.&lt;br /&gt;
 &lt;br /&gt;
 Universe   = vanilla&lt;br /&gt;
 ...&lt;br /&gt;
 +SingularityImage = &amp;quot;/cvmfs/singularity.opensciencegrid.org/opensciencegrid/osgvo-el9:latest&amp;quot;&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== create-batch 사용 ===&lt;br /&gt;
&lt;br /&gt;
create-batch를 경북대 부분을 condor로 변경하여 create-batch2라는 이름으로 저장해두었습니다. condor에서는 --queue cms 옵션은 필요하지 않습니다.&amp;lt;br&amp;gt;&lt;br /&gt;
torque system을 당분간 운영하는 기간동안 임시로 이렇게 사용하고 condor로 완전히 전환이 되면 create-batch에 수정사항을 반영요청하겠습니다. &lt;br /&gt;
&lt;br /&gt;
* [[Create-batch|create-batch 사용법으로 가기]]&lt;br /&gt;
&lt;br /&gt;
=== 전체 작업 현황 살펴보기 ===&lt;br /&gt;
&lt;br /&gt;
 $ condor_status -schedd&lt;br /&gt;
 Name            Machine         RunningJobs   IdleJobs   HeldJobs&lt;br /&gt;
 &lt;br /&gt;
 ce01.knu.ac.kr  ce01.knu.ac.kr           20          5          0&lt;br /&gt;
 cms.knu.ac.kr   cms.knu.ac.kr             0          0          0&lt;br /&gt;
 cms01.knu.ac.kr cms01.knu.ac.kr           0          0          3&lt;br /&gt;
 cms02.knu.ac.kr cms02.knu.ac.kr        1754          0          0&lt;br /&gt;
 cms03.knu.ac.kr cms03.knu.ac.kr         269        231          0&lt;br /&gt;
 dm.knu.ac.kr    dm.knu.ac.kr              0          0          0&lt;br /&gt;
 &lt;br /&gt;
                 TotalRunningJobs      TotalIdleJobs      TotalHeldJobs&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
         Total              2043                236                  3&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 GPU 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[HTCondor에서_GPU_사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== request_memory 관련 ===&lt;br /&gt;
&lt;br /&gt;
* dynamic slot에서는 request_memory 메모리를 어떻게 지정하냐에 따라서 연산노드에서 들어갈 수 있는 작업의 수가 변화합니다.&lt;br /&gt;
* 가령 CPU 8core, 메모리 16GB를 가지고 있는 연산노드가 있다고 가정했을 때 request_memory 가 2GB일때는 8개가 8GB일때는 2개의 작업이 할당됩니다.&lt;br /&gt;
* 따라서 적절한 request_memory를 설정해야 작업 slot의 낭비를 줄이고 자신과 타인의 작업이 빠르게 실행됩니다. 위의 예의 경우 4배의 차이가 나게 됩니다.&lt;br /&gt;
* htcondor에서 request_memory의 자동 수정&lt;br /&gt;
** 작업 실행후 1시간 뒤를 기준으로 request_memory 가 작업의 실사용메모리보다 2GB이상 많이 설정되어 있는 경우 자동으로 해당 작업은 hold 되고 request_memory가 수정후 재실행됩니다. &lt;br /&gt;
** request_memory 보다 실사용하는 메모리가 많아 hold 된 작업은 htcondor가 request_memory를 자동으로 증가시킨 후 재실행됩니다.&lt;br /&gt;
&lt;br /&gt;
=== x509 proxy 사용 ===&lt;br /&gt;
&lt;br /&gt;
htcondor 에서 그리드 인증이 필요한 경우&lt;br /&gt;
&lt;br /&gt;
* X509_USER_PROXY를 설정하여 proxy 파일의 위치를 다음과 같이 연산노드에서 접근 가능한 위치로 변경해야합니다.&lt;br /&gt;
 export X509_USER_PROXY=/u/user/(userid)/proxy.cert&lt;br /&gt;
&lt;br /&gt;
* voms-proxy-info 명령을 이용해서 proxy가 올바른 위치에 생성되었는지 반드시 확인하세요.&lt;br /&gt;
&lt;br /&gt;
* 자세한 내용은 다음 링크를 참고하시기 바랍니다.&lt;br /&gt;
https://batchdocs.web.cern.ch/tutorial/exercise2e_proxy.html&lt;br /&gt;
&lt;br /&gt;
=== 최대 작업시간 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   작업 구분  !! 최대 작업시간 &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! CPU 작업&lt;br /&gt;
| 80 시간&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
! GPU 작업&lt;br /&gt;
| 14일&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 최대 작업시간은 연산노드에서 작업이 실행되는 최대 시간입니다. 최대 작업시간을 초과하면 작업이 강제로 중지됩니다.&lt;br /&gt;
* 자원의 효율적 사용을 위해서 가급적 작업을 나누어 제출하는 것을 권장합니다.&lt;br /&gt;
* 최대 작업시간과 관련하여 문의사항이 있으면 관리자에게 메일주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
=== 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 작업이 실행 중에 죽는 경우&lt;br /&gt;
&lt;br /&gt;
작업 제출시 명시한 메모리보다 작업이 더 많은 메모리를 사용할 경우 메모리 부족으로 작업이 죽는 경우가 발생할 수 있습니다. &amp;lt;br&amp;gt;&lt;br /&gt;
다음과 같이 requset_memory 옵션으로 요구 메모리를 지정해주시기 바랍니다. 특히 많은 메모리를 사용하는 작업이라면 반드시 지정해 주어야합니다.&lt;br /&gt;
 request_memory = 4 GB&lt;br /&gt;
&lt;br /&gt;
* submit 한 작업도 속성을 다음과 같이 변경할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ condor_hold {job_id}&lt;br /&gt;
 $ condor_qedit {job_id} RequestMemory 4096&lt;br /&gt;
 $ condor_release {job_id}&lt;br /&gt;
&lt;br /&gt;
* 최근에는 작업의 메모리 사용량은 자동으로 관리되고 있습니다. 메모리 초과 사용 혹은 과다 사용시 시스템에서 중지 후 다시 제출됩니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고 자료  ===&lt;br /&gt;
&lt;br /&gt;
* [https://research.cs.wisc.edu/htcondor/manual/quickstart.html HTCondor Quick Start Guide] 위의 예제를 작성할때 참고한 자료로 처음에 시작하는 사용자가 참고하기 좋습니다.&lt;br /&gt;
* [https://indico.cern.ch/event/611296/contributions/2604376/attachments/1471164/2276521/TannenbaumT_UserTutorial.pdf AN INTRODUCTION TO USING HTCONDOR(Todd Tannenbaum)] HTCondor의 동작에 대한 기본적인 이해와 다양한 기능들을 살펴보기 좋은 자료입니다.&lt;br /&gt;
* [https://indico.cern.ch/event/733513/contributions/3118598/attachments/1711374/2759120/EUCW18-DAGMan.pdf AN INTRODUCTION TO WORKFLOWS WITH DAGMAN] DAGMAN 사용방법을 학습하기 좋은 자료입니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Q%26A&amp;diff=3223</id>
		<title>Q&amp;A</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Q%26A&amp;diff=3223"/>
		<updated>2025-05-09T08:37:27Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 자원현황을 확인하려면 어떻게 하나요? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Q &amp;amp; A ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 기본 shell을 변경하고 싶습니다. ===&lt;br /&gt;
&lt;br /&gt;
다음과 같이 &amp;lt;u&amp;gt;chsh&amp;lt;/u&amp;gt; 명령어를 사용하세요.&lt;br /&gt;
 $ &amp;lt;u&amp;gt;chsh&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 윈도우에서 ssh를 사용하려면 어떻게 하나요?? ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/ &#039;&#039;&#039;Putty&#039;&#039;&#039;(무료)], &#039;&#039;&#039;SSH Secure Shell Client&#039;&#039;&#039; (프리웨어 또는 정식 서비스를 찾아 설치가능)    &lt;br /&gt;
* [[SSH_Secure_Shell_Client_의_경우|SSH Secure Shell Client 예시 화면]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 자원현황을 확인하려면 어떻게 하나요?===&lt;br /&gt;
현재 Storage Element의 여유 공간이 궁금하거나 CPU 사용현황이 궁금하신가요?&lt;br /&gt;
knuinfo 명령어를 사용하세요. CPU자원 사용현황과 Storage Element의 현황을 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
    CPU    Free Total Jobs      Running Waiting ComputingElement&lt;br /&gt;
   2221     247          2            0       0 ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
 Avail Space(kB)  Used Space(kB)  Type  SE&lt;br /&gt;
    193752733956   1665682774974  xroot cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
===gfal-ls 등의 명령어를 사용할 때 No match 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/&lt;br /&gt;
 gfal-ls: No match.&lt;br /&gt;
&lt;br /&gt;
tcsh을 사용할 경우 SRM URL의 ?는 와일드카드로 인식되어 No match 오류가 발생하게 됩니다. 따라서 반드시  다음과 같이 &amp;quot;&amp;quot; 혹은 &#039; &#039; 을 사용해주셔야 합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl &amp;quot;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal-* 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== lcg-ls 명령어로 1000개 이상의 파일 포함한 디렉토리의 내용일 읽을 수 없습니다. ===&lt;br /&gt;
&lt;br /&gt;
lcg-ls 명령어에는 한번에 1000개의 파일만 출력할 수 있는 제한이 있습니다. 그러나 --offset, --count 옵션의 조합을 통하여 그 다음 파일들을 읽을 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
ex) 500번째 파일부터 700개의 파일을 보고 싶을 경우&lt;br /&gt;
 $lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Storage Element 사용법이 너무 어려운데  좀 쉬운 방법이 없나요? ===&lt;br /&gt;
* [[uberftp|uberftp를 사용하세요. uberftp 사용법으로 바로 가기]]&lt;br /&gt;
* [[Uberftp|&amp;lt;u&amp;gt;uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요&amp;lt;/u&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE에 저장된 Data에 바로 접근할 수 있나요? ===&lt;br /&gt;
dcap 프로토콜을 이용하여 가능합니다.&lt;br /&gt;
* 읽기 (dcap 프로토콜)&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
* 쓰기 (gsidcap 프로토콜, root 실행전 그리드 인증 필요)&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr:22128//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Storage Element 를 사용하는데 갑자기 인증오류가 발생합니다. 어떻게 해야하나요? ===&lt;br /&gt;
* 본인의 인증서가 만료되지는 않았는지 cms vo가 만료되지 않았는지 확인해야합니다.&lt;br /&gt;
&lt;br /&gt;
* voms 인증 실행 &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 자신의 cms vo가 만료되었을 가능성이 높습니다. 갱신 하세요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Local Disk에서 Storage Element 로 데이터를 전송할때 디렉토리까지 전송하고 싶습니다. 어떻게 해야하나요? ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 전송할 수 있습니다. 자세한 내용은 아래 링크를 참고하세요.&lt;br /&gt;
&lt;br /&gt;
[[Storage_Element_Tutorial#gfal-copy.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_.EB.94.94.EB.A0.89.ED.86.A0.EB.A6.AC_.EB.B3.B5.EC.82.AC|이곳을 클릭]]&lt;br /&gt;
&lt;br /&gt;
===  &amp;lt;u&amp;gt;Singularity SLC6 환경에서 myproxy 관련 명령어를 찾지 못한다는 오류가 발생합니다. 어떻게 해야하나요?&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
cmssw-slc6 명령어로 slc6 환경 진입후 다음과 같이 추가 환경설정을 해야 합니다.&lt;br /&gt;
 Singularity&amp;gt; source /cvmfs/grid.cern.ch/emi-ui-3.7.3-1_sl6v2/etc/profile.d/setup-emi3-ui-example.sh&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Q%26A&amp;diff=3220</id>
		<title>Q&amp;A</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Q%26A&amp;diff=3220"/>
		<updated>2025-05-09T08:36:45Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 자원현황을 확인하려면 어떻게 하나요? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Q &amp;amp; A ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 기본 shell을 변경하고 싶습니다. ===&lt;br /&gt;
&lt;br /&gt;
다음과 같이 &amp;lt;u&amp;gt;chsh&amp;lt;/u&amp;gt; 명령어를 사용하세요.&lt;br /&gt;
 $ &amp;lt;u&amp;gt;chsh&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 윈도우에서 ssh를 사용하려면 어떻게 하나요?? ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/ &#039;&#039;&#039;Putty&#039;&#039;&#039;(무료)], &#039;&#039;&#039;SSH Secure Shell Client&#039;&#039;&#039; (프리웨어 또는 정식 서비스를 찾아 설치가능)    &lt;br /&gt;
* [[SSH_Secure_Shell_Client_의_경우|SSH Secure Shell Client 예시 화면]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 자원현황을 확인하려면 어떻게 하나요?===&lt;br /&gt;
현재 Storage Element의 여유 공간이 궁금하거나 CPU 사용현황이 궁금하신가요?&lt;br /&gt;
knuinfo 명령어를 사용하세요. CPU자원 사용현황과 Storage Element의 현황을 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
    CPU    Free Total Jobs      Running Waiting ComputingElement&lt;br /&gt;
   2177    1535          2            0       0 ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type  SE&lt;br /&gt;
    196449113991   1662986394938  xroot cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
===gfal-ls 등의 명령어를 사용할 때 No match 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/&lt;br /&gt;
 gfal-ls: No match.&lt;br /&gt;
&lt;br /&gt;
tcsh을 사용할 경우 SRM URL의 ?는 와일드카드로 인식되어 No match 오류가 발생하게 됩니다. 따라서 반드시  다음과 같이 &amp;quot;&amp;quot; 혹은 &#039; &#039; 을 사용해주셔야 합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl &amp;quot;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal-* 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== lcg-ls 명령어로 1000개 이상의 파일 포함한 디렉토리의 내용일 읽을 수 없습니다. ===&lt;br /&gt;
&lt;br /&gt;
lcg-ls 명령어에는 한번에 1000개의 파일만 출력할 수 있는 제한이 있습니다. 그러나 --offset, --count 옵션의 조합을 통하여 그 다음 파일들을 읽을 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
ex) 500번째 파일부터 700개의 파일을 보고 싶을 경우&lt;br /&gt;
 $lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Storage Element 사용법이 너무 어려운데  좀 쉬운 방법이 없나요? ===&lt;br /&gt;
* [[uberftp|uberftp를 사용하세요. uberftp 사용법으로 바로 가기]]&lt;br /&gt;
* [[Uberftp|&amp;lt;u&amp;gt;uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요&amp;lt;/u&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE에 저장된 Data에 바로 접근할 수 있나요? ===&lt;br /&gt;
dcap 프로토콜을 이용하여 가능합니다.&lt;br /&gt;
* 읽기 (dcap 프로토콜)&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
* 쓰기 (gsidcap 프로토콜, root 실행전 그리드 인증 필요)&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr:22128//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Storage Element 를 사용하는데 갑자기 인증오류가 발생합니다. 어떻게 해야하나요? ===&lt;br /&gt;
* 본인의 인증서가 만료되지는 않았는지 cms vo가 만료되지 않았는지 확인해야합니다.&lt;br /&gt;
&lt;br /&gt;
* voms 인증 실행 &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 자신의 cms vo가 만료되었을 가능성이 높습니다. 갱신 하세요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Local Disk에서 Storage Element 로 데이터를 전송할때 디렉토리까지 전송하고 싶습니다. 어떻게 해야하나요? ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 전송할 수 있습니다. 자세한 내용은 아래 링크를 참고하세요.&lt;br /&gt;
&lt;br /&gt;
[[Storage_Element_Tutorial#gfal-copy.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_.EB.94.94.EB.A0.89.ED.86.A0.EB.A6.AC_.EB.B3.B5.EC.82.AC|이곳을 클릭]]&lt;br /&gt;
&lt;br /&gt;
===  &amp;lt;u&amp;gt;Singularity SLC6 환경에서 myproxy 관련 명령어를 찾지 못한다는 오류가 발생합니다. 어떻게 해야하나요?&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
cmssw-slc6 명령어로 slc6 환경 진입후 다음과 같이 추가 환경설정을 해야 합니다.&lt;br /&gt;
 Singularity&amp;gt; source /cvmfs/grid.cern.ch/emi-ui-3.7.3-1_sl6v2/etc/profile.d/setup-emi3-ui-example.sh&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3217</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3217"/>
		<updated>2025-05-09T08:35:42Z</updated>

		<summary type="html">&lt;p&gt;Song: /* T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm, gsiftp,&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.84 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽고 쓸 수 있습니다. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 $&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
    CPU    Free Total Jobs      Running Waiting ComputingElement&lt;br /&gt;
   2177    1535          2            0       0 ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type  SE&lt;br /&gt;
    196449113991   1662986394938  xroot cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile&lt;br /&gt;
 $ davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             root://cluster142.knu.ac.kr//store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameSrc    davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* &amp;lt;strike&amp;gt;1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&amp;lt;/strike&amp;gt;&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/MyAccount/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms ~]$ gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5 file:////u/user/MyAccount/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
 -rwxrwxrwx   0 0     0     4.8M Oct 12  2015 davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3215</id>
		<title>Storage Element Tutorial</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Storage_Element_Tutorial&amp;diff=3215"/>
		<updated>2025-05-09T08:34:48Z</updated>

		<summary type="html">&lt;p&gt;Song: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Storage Element Tutorial ==&lt;br /&gt;
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 합니다.&lt;br /&gt;
이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;[주의 : tcsh, csh 등 에서 관련 명령어를 사용할 때, 경로 인자에 반드시 &amp;quot; &amp;quot; 를 사용해주시기 바랍니다.]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
UI에 로그인 했을 때 일반 사용자가 읽고 쓸수 있는 저장공간은 다음과 같이 3가지 종류가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  종류  !! 경로 !! 지원 프로토콜 !! 총용량 !! 사용자당 !! 용도 !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI 사용자 홈&lt;br /&gt;
| &lt;br /&gt;
* /u/user/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 20 TB&lt;br /&gt;
| 200 GB&lt;br /&gt;
| 프로그램 설치&amp;lt;br&amp;gt;사용자 기본 작업공간&lt;br /&gt;
| RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| SE 사용자홈&lt;br /&gt;
| &lt;br /&gt;
* xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}/&amp;lt;br&amp;gt;&lt;br /&gt;
* webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm: srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* dcap: dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* gsidcap: gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;br&amp;gt;&lt;br /&gt;
* nfs: /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| xrootd, webdav,&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm, gsiftp,&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;dcap, gsidcap,&amp;lt;br&amp;gt; nfs &lt;br /&gt;
| 1.84 PB&lt;br /&gt;
| 10 TB&lt;br /&gt;
| 데이터 보관&amp;lt;br&amp;gt;대용량데이터처리&amp;lt;br&amp;gt;프로그램설치X&lt;br /&gt;
| dCache, RAID6&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| 스크레치&lt;br /&gt;
| &lt;br /&gt;
* /d0/scratch&amp;lt;br&amp;gt;&lt;br /&gt;
* /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| nfs&lt;br /&gt;
| 40 TB&lt;br /&gt;
|  &lt;br /&gt;
| 임시 작업용&amp;lt;BR&amp;gt;중요데이터 보관X &lt;br /&gt;
| RAID6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* x509인증이 토큰 인증으로 전환되고 있는 상황이라 srm 프로토콜은 gsiftp, xrootd, webdav 프로토콜로 대체되고 있습니다.&lt;br /&gt;
* dcap(dCache access protocol): 인증이 필요없는 읽기 전용의 프로토콜입니다. 인증이 필요없기에 간편하게 사용할수 있지만 경북대 내부에서만 사용할수 있습니다.&lt;br /&gt;
* gsidcap: 그리드 인증이 필요한 dcap 프로토콜입니다. 읽기 쓰기가 모두 가능하며 경북대 내외부에서 모두 사용할 수 있습니다.&lt;br /&gt;
* SE에 저장되어 있는 데이터셋은 연산노드에서 dcap, xrootd, gsiftp, nfs, wedav, srm 프로토콜을 이용하여 읽을 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
* CERN ID와 KNU ID가 다른 사용자는 SE 사용자 홈디렉토리에 CERN ID를 기준으로 디렉토리가 생성됩니다.&lt;br /&gt;
* {knu_id}는 경북대에서 발급받은 ID, {cern_id}는 CERN에서 발급 받은 ID를 의미합니다. 일부 사용자들은 두 ID가 일치 하지 않습니다.  &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;경북대 계정 신청시 CERN ID가 없는 사용자는 계정발급 직후 SE 사용자 홈디렉토리가 생성되지 않습니다. CERN ID를 발급 받은 후에 별도로 연락주세요.&amp;lt;/span&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
* 현재는 저장공간의 사용자당 최대 사용량이 시스템적으로 설정되어 있지는 않습니다. 그러나 원활한 이용을 위하여 초과해서 사용이 필요한 경우에는 사전에 관리자와 협의를 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;저장공간이 부족해질 경우 개인 사용량을 초과하는 사용자를 대상으로 사용햐지 않는 데이터의 정리를 요청하고 있습니다. 삭제요청과 함께 혹시라도 데이터가 방치되고 있지는 않은지 확인하는 작업입니다.  파일의 삭제 가능 여부와 상관없이 반드시 답장을 해주시기 바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 스크레치 저장공간은 불필요한 데이터를 수시로 정리해주시고 장기 보관이 필요한 데이터는 SE로 이동 부탁드립니다.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;스크레치 디스크는 임시작업용 저장공간입니다. 데이터 손실에 대한 안전장치가 전혀 없으므로 절대 데이터 보관용으로 사용해서는 안됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;매월 28일 90일이 지난 스크레치 디스크의 데이터는 자동으로 삭제됩니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 서비스별 스토리지 접근 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f0f0f0;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!  서비스  !! 스토리지 !! 지원 프로토콜 !! 경로 !! Grid인증 !!  비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | UI&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=9 | HTCondor&lt;br /&gt;
| UI User Home&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| UI Scratch&lt;br /&gt;
| nfs&lt;br /&gt;
| /u/user/{knu_id}/scratch   -----&amp;gt; /d0/scratch/{knu_id}&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| rowspan=7 | SE&lt;br /&gt;
| xrootd&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| webdav&lt;br /&gt;
| webdav: davs://cluster142.knu.ac.kr:2880/cms/store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&amp;lt;/span&amp;gt;&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| dcap&lt;br /&gt;
| dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| 읽기전용&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| gsidcap&lt;br /&gt;
| xrootd: root://cluster142.knu.ac.kr//store/user/{cern_id}&lt;br /&gt;
| O&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| nfs&lt;br /&gt;
| /pnfs/knu.ac.kr/data/cms/store/user/{cern_id} &amp;lt;br&amp;gt; /u/user/{knu_id}/SE_UserHome   -----&amp;gt; /pnfs/knu.ac.kr/data/cms/store/user/{cern_id}&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;u&amp;gt;해당 경로를 찾을 수 없다면 관리자에게 문의해 주시기 바랍니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;HTcondor 에서 SE에 nfs로 연결됨에 따라 dcap 이나 xrootd 와 같은 별다른 프로토콜 사용 없이 직접적으로 SE의 데이터를 읽고 쓸 수 있습니다. &amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== voms 인증  ===&lt;br /&gt;
* SE는 voms 인증 후 사용할수 있습니다. &lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
&lt;br /&gt;
=== voms 인증 정보 확인  ===&lt;br /&gt;
* voms 인증 정보는 다음 명령어로 확인할 수 있습니다. &lt;br /&gt;
 $ voms-proxy-info --all&lt;br /&gt;
 voms-proxy-info --all&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong/CN=00000000&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 identity  : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 type      : RFC3820 compliant impersonation proxy&lt;br /&gt;
 strength  : 1024&lt;br /&gt;
 path      : /tmp/x509up_u77420&lt;br /&gt;
 timeleft  : 11:59:52&lt;br /&gt;
 key usage : Digital Signature, Key Encipherment&lt;br /&gt;
 === VO cms extension information ===&lt;br /&gt;
 VO        : cms&lt;br /&gt;
 subject   : /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=gdhong/CN=000000/CN=Gildong Hong&lt;br /&gt;
 issuer    : /DC=ch/DC=cern/OU=computers/CN=voms2.cern.ch&lt;br /&gt;
 attribute : /cms/Role=NULL/Capability=NULL&lt;br /&gt;
 timeleft  : 11:59:54&lt;br /&gt;
 uri       : voms2.cern.ch:15002&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;주의해야할 부분은 VO cms extension information 부분입니다. 만약 VO cms extension information 부분이 출력되지 않는다면 --voms cms 옵션을 정확하게 입력하였는지 자신의 cms vo가 만료된건 아닌지 확인 해야합니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU의 Computing Resource 실시간 조회하기 (CPU, Disk 자원 조회) ===&lt;br /&gt;
&lt;br /&gt;
* UI 에서 &amp;quot;knuinfo&amp;quot; 명령어를 실행합니다.&lt;br /&gt;
 $ knuinfo&lt;br /&gt;
 $&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
     CPU	   Free	Total Jobs	Running	Waiting	ComputingElement&lt;br /&gt;
    1328	    571	       253	    157	      0	ce01.knu.ac.kr:9619/ce01.knu.ac.kr-condor&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
  Avail Space(kB)  Used Space(kB)  Type 	SE&lt;br /&gt;
     369726007282   1076716332991  SRM  	cluster142.knu.ac.kr&lt;br /&gt;
 -----------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
=== SE(Storage Element)의 사용자 디렉토리 경로 ===&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ &amp;lt;span style=&amp;quot;color: red; text-decoration: line-through;&amp;quot;&amp;gt;gsiftp://cluster142.knu.ac.kr:2811/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&amp;lt;/span&amp;gt;&lt;br /&gt;
 $ dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
 $ root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile&lt;br /&gt;
 $ davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;참고사항: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 위의 예시에서 username은 향후 data를 publish 할 경우를 대비하서 경북대 ID가 아니라 CERNID를 사용해야 합니다. &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 계정을 발급받을 당시에 cern id가 없는 사용자는 해당 경로가 생성되지 않습니다.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;- 만약에 cern id가 있는데도 불구하고 본인의 디렉토리가 만들어져 있지 않는 경우에는 관리자에게 연락바랍니다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에서 SE로 파일 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             root://cluster142.knu.ac.kr//store/user/(username)/.../.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;SE에 있는 파일을 및 local 디렉토리로 복사하기&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy root://cluster142.knu.ac.kr//store/user/(username)/.../SrcFile  \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr:22128/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             file:////u/user/(username)/.../DestFile&lt;br /&gt;
&lt;br /&gt;
 $ gfal-copy gsidcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/.../SrcFile \&lt;br /&gt;
             ./DestFile&lt;br /&gt;
&lt;br /&gt;
=== xrootd 를 활용한 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
*  [[Xrootd|xrootd 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;u&amp;gt;WebDav 프로토콜을 활용한 SE Data 접근 방법&amp;lt;/u&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== dcap을 이용한 SE Data 접근 방법 ===&lt;br /&gt;
*  [[Dcap|dcap 을 이용하여 SE 사용하기]]&lt;br /&gt;
&lt;br /&gt;
=== UI에서 NFS로 마운트된 스토리지 엘리먼트 사용하기 ===&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드]]&lt;br /&gt;
&lt;br /&gt;
=== root에서 SE Data 접근 방법 ===&lt;br /&gt;
&lt;br /&gt;
* dcap 프로토콜을 이용&lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;gsidcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* xrootd 프로토콜을 이용 &lt;br /&gt;
 # 읽기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;);&lt;br /&gt;
 $&lt;br /&gt;
 # 쓰기&lt;br /&gt;
 $ voms-proxy-init --voms cms&lt;br /&gt;
 $ root -l&lt;br /&gt;
 root [0] TFile *f = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;CREATE&amp;quot;);&lt;br /&gt;
 root [1] f-&amp;gt;Close();&lt;br /&gt;
 root [2] TFile *f2 = TFile::Open(&amp;quot;root://cluster142.knu.ac.kr//store/user/(username)/test.root&amp;quot;, &amp;quot;RECREATE&amp;quot;);&lt;br /&gt;
 root [3] f2-&amp;gt;Close();&lt;br /&gt;
 root [4] .q&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
=== 복수의 파일을 동시에 전송하기 ===&lt;br /&gt;
 $ /usr/local/bin/lcgcp_copyfiles list.txt&lt;br /&gt;
&lt;br /&gt;
 $ cat  list.txt &lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2&lt;br /&gt;
 srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3&lt;br /&gt;
* lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)&lt;br /&gt;
&lt;br /&gt;
=== 파일 또는 디렉토리 삭제 ===&lt;br /&gt;
&lt;br /&gt;
 $ gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/(username)/test/test.file&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;gfal-rm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
 $ &amp;lt;strike&amp;gt;lcg-del -d srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gfal 명령어 사용 요약 ===&lt;br /&gt;
  $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.&lt;br /&gt;
  $ 조회 : gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&lt;br /&gt;
  $ 복사 : gfal-copy davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameSrc    davs://cluster142.knu.ac.kr:2880/cms/store/user/.../FileNameDest&lt;br /&gt;
  $ 삭제 : gfal-rm davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName/FileName&lt;br /&gt;
  $ 디렉토리 삭제 : &amp;lt;strike&amp;gt;gfal-rm -R davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/FolderName&amp;lt;/strike&amp;gt;&lt;br /&gt;
* 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man gfal-ls)&lt;br /&gt;
* &amp;lt;strike&amp;gt;1000개 이상의 파일 포함한 폴더 내용 보기 : (ex. 500번째 파일부터 700개의 파일을 보고 싶을 경우) lcg-ls --offset 500 --count 700 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(DestFoler)&amp;lt;/strike&amp;gt;&lt;br /&gt;
* gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 디렉토리까지 복사가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
=== gfal-copy를 이용한 디렉토리 복사 ===&lt;br /&gt;
&lt;br /&gt;
gfal-copy에서 &amp;quot;-r&amp;quot; 옵션을 사용하면 서브 디렉토리까지 한번에 복사가 가능합니다. 다음과 같이 임의의 테스트 디렉토리를 만들었을때&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms tmp5]$ ll&lt;br /&gt;
 total 0&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi knu  0 Aug 26 17:21 cc&lt;br /&gt;
 drwxr-xr-x 2 hanbi knu 24 Aug 26 17:22 dir1&lt;br /&gt;
&lt;br /&gt;
-r 옵션을 적용해서 다음과 같이 실행하면 (로컬 디스크의 ~/MyAccount/tmp5 디렉토리를 SE의  hanbi/tmp5로 복사)&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
 [MyAccount@cms ~]$ gfal-copy -r file:////u/user/MyAccount/tmp5 davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/aa   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/bb   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/cc   [DONE]  after 0s&lt;br /&gt;
 Mkdir davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5/dir1&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/dd   [DONE]  after 0s&lt;br /&gt;
 Copying file:////u/user/MyAccount/tmp5/dir1/ee   [DONE]  after 0s&lt;br /&gt;
&lt;br /&gt;
아래와 같이 하부 디렉토리까지 스토리지 엘리먼트로 전부 전송이 되는 것을 확인 할 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 [hanbi@cms ~]$ ll /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
 total 1&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 aa&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 bb&lt;br /&gt;
 -rw-r--r-- 1 hanbi cms   0 Aug 26 17:22 cc&lt;br /&gt;
 drwxr-xr-x 4 hanbi cms 512 Aug 26 17:22 dir1&lt;br /&gt;
 &lt;br /&gt;
물론 반대로 스토리지 엘리먼트에서 로컬 하드로 복사도 가능한데, 사용시 주의해야할 점은 SE의 소스 용량을 먼저 확인해서 전송을해야 로컬 하드디스크가 가득차는 것을 방지할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 gfal-copy -r davs://cluster142.knu.ac.kr:2880/cms/store/user/MyAccount/tmp5 file:////u/user/MyAccount/tmp5 &lt;br /&gt;
&lt;br /&gt;
소스디렉토리의 크기를 확인하는 방법은 다음과 같이 확인할 수 있습니다. 다만 해당 디렉토리 아래의 크기가 매우 클 경우에는 결과가 나오는데 시간이 오래 결릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 du -hs  /pnfs/knu.ac.kr/data/cms/store/user/MyAccount/tmp5&lt;br /&gt;
&lt;br /&gt;
===crab3를 사용한 후  gfal-* 명령어들이 오류가 발생합니다 ===&lt;br /&gt;
&lt;br /&gt;
source /cvmfs/cms.cern.ch/crab3/crab.sh 실행후에 gfal-* 명령어들이 오류가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
 -rwxrwxrwx   0 0     0     4.8M Oct 12  2015 davs://cluster142.knu.ac.kr:2880/cms/store/user//test/test.transfer&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
 $ gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 Could not find platform independent libraries &amp;lt;prefix&amp;gt;&lt;br /&gt;
 Could not find platform dependent libraries &amp;lt;exec_prefix&amp;gt;&lt;br /&gt;
 Consider setting $PYTHONHOME to &amp;lt;prefix&amp;gt;[:&amp;lt;exec_prefix&amp;gt;]&lt;br /&gt;
 &#039;import site&#039; failed; use -v for traceback&lt;br /&gt;
 Traceback (most recent call last):&lt;br /&gt;
   File &amp;quot;/usr/bin/gfal-ls&amp;quot;, line 8, in &amp;lt;module&amp;gt;&lt;br /&gt;
     from gfal2_util.shell import Gfal2Shell&lt;br /&gt;
 ImportError: No module named gfal2_util.shell&lt;br /&gt;
&lt;br /&gt;
crab3 에서 사용하는 python 환경변수와 gfal-* 명령어들에 문제를 일으키기 때문입니다. gfal-* 명령어 앞에 &amp;quot; env --unset=LD_LIBRARY_PATH &amp;quot;을 넣어줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 $ env --unset=LD_LIBRARY_PATH gfal-ls -Hl davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
 -rw-r--r-- 1   2    2    Oct 12 02:17 4.8M davs://cluster142.knu.ac.kr:2880/cms/store/user/test/test.transfer&lt;br /&gt;
&lt;br /&gt;
=== cmsenv 실행후  gfal 명령어들이 정상 동작 하지 않을때 === &lt;br /&gt;
&lt;br /&gt;
cmsenv 실행후에 다음과 같은 오류가 발생한다면&lt;br /&gt;
&lt;br /&gt;
 Failed to add IO tunnel (libgsiTunnel.so: cannot open shared object file: No such file or directory). Provider: [libgsiTunnel.so].&lt;br /&gt;
 Error ( POLLIN) (with data) on control line [12]&lt;br /&gt;
 Failed to create a control line&lt;br /&gt;
 Failed open file in the dCache.&lt;br /&gt;
 gfal-copy: error: Input/output error &lt;br /&gt;
&lt;br /&gt;
아래 명령을 먼저 실행해줌으로써 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap&lt;br /&gt;
&lt;br /&gt;
=== no match 오류가 발생할때 ===&lt;br /&gt;
&lt;br /&gt;
* tcsh에서 ?는 wild card로 인식이 됩니다. 따라서 tcsh을 사용하고 있다면 srm 경로에 반드시 &amp;quot;&amp;quot;를 사용해야 합니다.&lt;br /&gt;
&lt;br /&gt;
===  srm*, lcg*, gfal* 주요 명령어 비교표 ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:#black;white:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!   srm*  !! lcg* !! gfal* !! 비고&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmls&lt;br /&gt;
| lcg-ls&lt;br /&gt;
| gfal-ls &lt;br /&gt;
| ls&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmcp&lt;br /&gt;
| lcg-cp&lt;br /&gt;
| gfal-copy&lt;br /&gt;
| cp&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrm&lt;br /&gt;
| lcg-del&lt;br /&gt;
| gfal-rm &lt;br /&gt;
| rm &lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| srmmkdir&lt;br /&gt;
| &lt;br /&gt;
| gfal-mkdir &lt;br /&gt;
| mkdir &lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| srmrmdir&lt;br /&gt;
| lcg-del -d&lt;br /&gt;
| gfal-rm -R &lt;br /&gt;
| rmdir&lt;br /&gt;
|- style=&amp;quot;background:#f0f0f0; color:black&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| gfal-cat &lt;br /&gt;
| cat&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== uberftp를 이용한 Storage Element 사용 ===&lt;br /&gt;
&lt;br /&gt;
* [[ uberftp | uberftp 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== WebFTS를 이용한 Storage Element 로의 Data 전송 ===&lt;br /&gt;
* [[ Webfts | WebFTS 사용법으로 가기 ]]&lt;br /&gt;
&lt;br /&gt;
=== T3_KR_KNU 저장공간(Disk) 활용 분류 ===&lt;br /&gt;
&lt;br /&gt;
 * Storage Element (srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/...)&lt;br /&gt;
  : 대용량 저장 공간으로 장기간 보관이 가능합니다.&lt;br /&gt;
   - rucio를 통해 전송된 DataSet 저장&lt;br /&gt;
   - Crab Analysis 이후의 결과파일 저장&lt;br /&gt;
     srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/&lt;br /&gt;
     &amp;lt;u&amp;gt;UI에서는 ~/SE_UserHome/ 에서 확인할 수 있습니다.&amp;lt;/u&amp;gt;&lt;br /&gt;
  : 현재 약 1.45 PB의 공간을 마련하여 운영하고 있습니다.&lt;br /&gt;
  : 사용자의 데이터 저장으로 공간이 부족할 경우, 사전 설문을 통해 더 이상 사용하지 않는 과거 데이터의 삭제 요청을 드릴 수 있습니다. &lt;br /&gt;
&lt;br /&gt;
 * User Home Directory (/u/user/...)&lt;br /&gt;
  : 기본적인 설정 사항, 사용자가 필요한 소프트웨어 등을 설치 및 보관하는 장소입니다.&lt;br /&gt;
  : 약 20 TB 규모의 공간입니다.&lt;br /&gt;
  : 모든 사용자가 20 TB를 나누어 사용하므로 용량이 큰 데이터의 보관은 가급적 삼가해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
 * Scratch Disk&lt;br /&gt;
  : UI에 총 1개의 임시 저장공간이 있습니다.&lt;br /&gt;
   - /d0  : 약 40 TB RAID6 Disk&lt;br /&gt;
  : Sratch 디스크는  임시 저장공간으로 중요한 데이터 및 장기 보관 데이터는 반드시 Storage Element로 이동하여 주시기 바랍니다.&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3207</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3207"/>
		<updated>2025-05-09T08:28:26Z</updated>

		<summary type="html">&lt;p&gt;Song: /* apptainer를 이용하여 cc7 프로그램 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 cc7 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-cc7&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 CentOS Linux release 7.9.2009 (Core)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-el9 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4 \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3204</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3204"/>
		<updated>2025-04-23T08:53:31Z</updated>

		<summary type="html">&lt;p&gt;Song: /* exec */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-cc7&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 CentOS Linux release 7.9.2009 (Core)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4 \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3203</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3203"/>
		<updated>2025-04-23T08:52:51Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-cc7&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 CentOS Linux release 7.9.2009 (Core)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu:1.4&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3202</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3202"/>
		<updated>2025-04-23T08:34:14Z</updated>

		<summary type="html">&lt;p&gt;Song: /* apptainer를 이용하여 el9 프로그램 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-cc7&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 CentOS Linux release 7.9.2009 (Core)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3201</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3201"/>
		<updated>2025-04-23T08:33:53Z</updated>

		<summary type="html">&lt;p&gt;Song: /* apptainer를 이용하여 el9 프로그램 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-cc7&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
CentOS Linux release 7.9.2009 (Core)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3200</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3200"/>
		<updated>2025-04-23T07:35:22Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3199</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3199"/>
		<updated>2025-04-23T07:28:50Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft      pystamp      eic      eicweb      opencarp      htc      library      pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3198</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3198"/>
		<updated>2025-04-23T06:46:39Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| &amp;lt;u&amp;gt;HTCondor 사용법 문서가 갱신 되었습니다&amp;lt;/u&amp;gt;.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3197</id>
		<title>News &amp; Notices</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3197"/>
		<updated>2025-04-23T06:45:55Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Notices ==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| &amp;lt;u&amp;gt;HTCondor 사용법 문서가 갱신 되었습니다&amp;lt;/u&amp;gt;.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[Uberftp|uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요]] 2021.05.17&lt;br /&gt;
* [[HTCondorGPU|HTCondor에서 GPU 사용법 문서가 추가되었습니다.]] 2021.05.12&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 갱신되었습니다.]] 2021.03.31&lt;br /&gt;
* [[mosh|mosh  가이드가 등록되었습니다.]] 2021.03.17&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드가 등록되었습니다.]] 2021.03.11&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 갱신되었습니다.]] 2021.03.05&lt;br /&gt;
* [[HTCondor에서 GPU 사용하기]] 2021.03.04&lt;br /&gt;
* [[Duc|자신의 디스크 사용량을 쉽게 확인할 수 있는 툴을 소개합니다.]] 2020.11.05&lt;br /&gt;
* [[CreamCE/SL6 서비스 종료]] 2020.10.15&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 작성중입니다.]] 2020.07.30&lt;br /&gt;
* [[CreamCE/Torque → HTCondorCE/HTCondor 이전 안내]] 2020.07.23&lt;br /&gt;
* 스토리지 엘리먼트가 1.45PB로 증가하였습니다.  2020.06.26&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 갱신 되었습니다.]] 2020.03.20&lt;br /&gt;
* [[Scratch Disk가 교체 및 증설 안내]] 2020.02.10&lt;br /&gt;
* [[Notion|Notion 문서를 추가하였습니다.]] 2019.09.20&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2019.08.30&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.12.10&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 추가 되었습니다.]] 2018.12.03&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 추가 되었습니다.]] 2018.11.08&lt;br /&gt;
* [[torque|Torque 사용법 문서가 갱신 되었습니다.]] 2018.10.15&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.08.31&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm에 큰 메모리를 사용하는 작업 전용의 queue를 추가하였습니다.]] 2018.07.13&lt;br /&gt;
* [[T2_KR_KNU_Decommissioned| 경북대 Tier2 서비스는 4월 30일자로 종료되고 해당자원은 Tier3로 통합됩니다.]] 2018.04.18&lt;br /&gt;
* cms03이 SL6로 업그레이드되었습니다. 2018.01.16&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2017.11.22&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 별도 분리되었습니다.]] 2017.11.22&lt;br /&gt;
* 스토리지 엘리먼트가 1.29PB로 증가하였습니다.  2017.10.12&lt;br /&gt;
* [[crab|Crab Tutorial을 업데이트 하였습니다.]] 2017.06.29&lt;br /&gt;
* [[Storage_Element_Tutorial#xrootd_.EB.A5.BC_.ED.99.9C.EC.9A.A9.ED.95.9C_SE_Data_.EC.A0.91.EA.B7.BC_.EB.B0.A9.EB.B2.95|Storage Element Tutorial에서 xrootd 관련 항목이 업데이트 되었습니다.]] 2017.06.15&lt;br /&gt;
* [[Webfts|WebFTS 사용법 항목이 추가되었습니다.]] 2017.04.14&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2016.12.06&lt;br /&gt;
* 스토리지 엘리먼트가 1.2PB로 증가하였습니다.  2016.12.05&lt;br /&gt;
* [[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 가이드가 추가되었습니다.]] 2016.10.19&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드가 갱신되었습니다.]] 2016.10.07&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 추가되었습니다.]] 2016.10.06&lt;br /&gt;
* 스토리지 엘리먼트가 1PB로 증가하였습니다.  2016.08.10&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트를 UI에서 NFS로 바로 읽을 수 있습니다.]] 2016.07.19&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm의 queue에 대한 세부정보를 업데이트 하였습니다.]] 2016.02.12&lt;br /&gt;
* [[Motd|Tier2/3 UI motd(Message of the Day)에서 스토리지 엘리먼트를 비롯한 디스크 사용량을 확인할수 있습니다.]] 2015.12.28&lt;br /&gt;
* [[Ssh_Public_key_Authentication|보다 안전하고 편리한 ssh 공개키 인증 사용법 항목이 추가 되었습니다.]] 2015.12.28&lt;br /&gt;
* [[Create-batch|create-batch 사용법 항목이 추가 되었습니다.]] 2015.12.21&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[torque|Torque 사용법 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[crab|Crab Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[Q&amp;amp;A|Q&amp;amp;A 항목이 추가 되었습니다.]] 2015.10.12&lt;br /&gt;
* [[uberftp | uberftp 사용법 항목이 추가되었습니다.]] 2015.10.12 &lt;br /&gt;
* T2_KR_KNU 홈페이지가 리뉴얼 되었습니다. 2015.10.12&lt;br /&gt;
* [https://indico.cern.ch/event/386181/ 2015 CMS DAS (Data Analysis School) at Korea가 개최되었습니다.] 2015.08.25~29&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3196</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3196"/>
		<updated>2025-04-23T06:45:29Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2025.04.23&lt;br /&gt;
* [[HTCondor| &amp;lt;u&amp;gt;HTCondor 사용법 문서가 갱신 되었습니다&amp;lt;/u&amp;gt;.]] 2024.07.08&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3195</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3195"/>
		<updated>2025-04-23T06:41:41Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
※주의 : 계속해서 업데이트 되니, 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다. (ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3194</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3194"/>
		<updated>2025-04-23T06:40:56Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
&lt;br /&gt;
계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다.&lt;br /&gt;
(ls -Rt /cvmfs/singularity.opensciencegrid.org/)&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3193</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3193"/>
		<updated>2025-04-23T06:40:16Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. &lt;br /&gt;
계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보시고 활용하시기 바랍니다.&lt;br /&gt;
*ls -Rt /cvmfs/singularity.opensciencegrid.org/*&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3192</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3192"/>
		<updated>2025-04-23T06:39:15Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2025년 4월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3191</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3191"/>
		<updated>2025-04-23T06:34:45Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3190</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3190"/>
		<updated>2025-04-23T06:34:10Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 lscsoft                   pystamp             eic                 eicweb     opencarp    htc    library   pycbc&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cwinpy/cwinpy-containers:&lt;br /&gt;
 cwinpy-dev-python38:latest&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin:&lt;br /&gt;
 cwinpy-containers&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/matthew-pitkin/cwinpy-containers:&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/patrickrmiles:&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas:&lt;br /&gt;
 mario-mapyde&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3189</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3189"/>
		<updated>2025-04-23T06:28:34Z</updated>

		<summary type="html">&lt;p&gt;Song: /* # CMSSW 설치 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc7_amd64_gcc12  // 아키텍쳐 설정&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_13_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_13_3_3  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3188</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3188"/>
		<updated>2025-04-23T06:25:40Z</updated>

		<summary type="html">&lt;p&gt;Song: /* apptainer를 이용하여 el9 프로그램 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
 AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3187</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3187"/>
		<updated>2025-04-23T06:25:21Z</updated>

		<summary type="html">&lt;p&gt;Song: /* apptainer를 이용하여 el9 프로그램 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== apptainer를 이용하여 el9 프로그램 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmssw-&lt;br /&gt;
 cmssw-alma8   cmssw-cc7     cmssw-cs8     cmssw-el5     cmssw-el7     cmssw-el9     cmssw-fc39    cmssw-slc6&lt;br /&gt;
 cmssw-cc6     cmssw-cc8     cmssw-cs9     cmssw-el6     cmssw-el8     cmssw-env     cmssw-rocky8  cmssw-ubi8&lt;br /&gt;
 &lt;br /&gt;
 $ cmssw-el9&lt;br /&gt;
 Singularity&amp;gt; cat /etc/redhat-release&lt;br /&gt;
AlmaLinux release 9.5 (Teal Serval)&lt;br /&gt;
&lt;br /&gt;
* cmssw-el8, cmssw-slc6 등 본인이 원하는 환경을 실행할 수 있습니다.&lt;br /&gt;
* 처음 실행할 때는 이미지를 다운로드 받기 때문에 시간이 걸릴수 있습니다.&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== HTCondor에서 apptainer를 이용하여 코드 실행하기 ===&lt;br /&gt;
&lt;br /&gt;
* [[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를 이용하여 코드 실행하기]]&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3163</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3163"/>
		<updated>2024-06-14T09:09:29Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
== News &amp;amp; Notices ==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| &amp;lt;u&amp;gt;스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.&amp;lt;/u&amp;gt;]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3162</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Main_Page&amp;diff=3162"/>
		<updated>2024-06-14T09:09:13Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=&#039;&#039;&#039;KNU Tier-3 Center for CMS&#039;&#039;&#039;  &amp;lt;img src=&amp;quot;http://t2-cms.knu.ac.kr/img/CMS-logo.gif&amp;quot; width=25&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
Welcome to the CMS Tier-3 Center at Kyungpook National University in Korea. &lt;br /&gt;
&lt;br /&gt;
This web portal is your gateway to the CMS Tier-3 center at Kyungpook National University (KNU) in Korea. This CMS Tier-3 center is being supported by the Ministry of Education, Science and Technology and is being maintained by the Center for High Energy Physics of the KNU.&lt;br /&gt;
We will support the CMS computing needs for Korean and overseas collaborators. For your general comments, questions, or reports of any problems regarding to this Center, please email to lcg_knu@knu.ac.kr.&lt;br /&gt;
&lt;br /&gt;
==News &amp;amp; Notices==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| &amp;lt;u&amp;gt;스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.&amp;lt;/u&amp;gt;]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리 서비스) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[News &amp;amp; Notices|more ...]]&lt;br /&gt;
&lt;br /&gt;
==Additional Services==&lt;br /&gt;
&lt;br /&gt;
* [https://chep17.knu.ac.kr:3003 T3_KR_KNU Status - 작업 현황, 현재 사용량 등]&lt;br /&gt;
* [https://githep.knu.ac.kr:4443 Gitlab 서비스 - 소스코드 버전 관리 시스템]&lt;br /&gt;
* [https://mm.knu.ac.kr Mattermost 서비스 - 업무용 메신저 서비스]&lt;br /&gt;
* [https://indico.knu.ac.kr 경북대 물리학과 Indico]&lt;br /&gt;
* [https://indico.kno.or.kr KNO Indico]&lt;br /&gt;
&lt;br /&gt;
==How to use Tier-3 at KNU?==&lt;br /&gt;
*[[How_to_use_Tier2_at_KNU|How to use Tier-3 at KNU?]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Pre-requisites|Pre-requisites]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#KNU_Tier-2_Login|KNU_Tier-3 Login]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#CMSSW.28CMS_Software.29_Installation|CMSSW Installation]]&lt;br /&gt;
**[[crab|Crab Tutorial]]&lt;br /&gt;
**[[How_to_use_Tier2_at_KNU#Storage_Element_.28SE.29_Manual|Storage Element Tutorial]]&lt;br /&gt;
**[[uberftp|uberftp]]&lt;br /&gt;
**[[Q&amp;amp;A|Q&amp;amp;A]]&lt;br /&gt;
&lt;br /&gt;
*[https://t2-cms.knu.ac.kr/lcg_registration.php KNU Account Registration]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left;text-valign: top&amp;quot; | Contact:&amp;lt;br&amp;gt;Email: lcg_knu@knu.ac.kr&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | THE CENTER FOR HIGH ENERGY PHYSICS&amp;lt;br&amp;gt;KYUNGPOOK NATIONAL UNIVERSITY&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3161</id>
		<title>News &amp; Notices</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=News_%26_Notices&amp;diff=3161"/>
		<updated>2024-06-14T01:16:16Z</updated>

		<summary type="html">&lt;p&gt;Song: /* News &amp;amp; Notices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News &amp;amp; Notices ==&lt;br /&gt;
* [[Singularity|Apptainer 사용법 문서가 갱신 되었습니다.]] 2024.06.13&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| &amp;lt;u&amp;gt;스토리지 엘리먼트의 SRMv2 gridftp gsiftp 데이터 전송 프로토콜 지원이 종료됩니다.&amp;lt;/u&amp;gt;]] 2024.05.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2024.03.11&lt;br /&gt;
* [[HTCondor#.EC.B5.9C.EB.8C.80_.EC.9E.91.EC.97.85.EC.8B.9C.EA.B0.84| HTCondor의 GPU 최대 작업시간이 연장되었습니다.]] 2024.02.14&lt;br /&gt;
* [[HTCondor| HTCondor 사용법 문서가 갱신 되었습니다.]] 2023.09.21&lt;br /&gt;
* [[Storage_Element_Tutorial#.EC.84.9C.EB.B9.84.EC.8A.A4.EB.B3.84_.EC.8A.A4.ED.86.A0.EB.A6.AC.EC.A7.80_.EC.A0.91.EA.B7.BC| 이제 HTCondor에서 SE의 데이터를 바로 읽을 수 있습니다.]] 2023.06.23&lt;br /&gt;
* [[Bitwarden| bitwarden(패스워드 관리) 사용법 문서가 추가 되었습니다.]] 2023.03.14&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2023.02.20&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 갱신 되었습니다.]] 2022.09.15&lt;br /&gt;
* [[Mattermost|Mattermost 메신저 서비스를 시작합니다.]] 2022.09.05&lt;br /&gt;
* [[How_to_use_Tier3_at_KNU|How to use T3_KR_KNU 문서가 갱신 되었습니다.]] 2022.07.27&lt;br /&gt;
* 이제부터 최근 수정된 부분은 밑줄로 표시됩니다. 참고하시기 바립니다. 2022.06.08&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2022.06.08&lt;br /&gt;
* [[JupyterHub|JupyterHub 서비스를 시작합니다.]] 2022.03.23&lt;br /&gt;
* [[HTCondor_Job_Policy|이제 htcondor에서 request_memory보다 많은 메모리를 사용하는 작업은 자동으로 hold됩니다.]] 2022.02.09&lt;br /&gt;
* [[FreeIPA|인증시스템 전환(NIS→ FreeIPA)공지입니다.]] 2021.11.09&lt;br /&gt;
* [[cvmfs_geant4|CVMFS에서 geant4 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_root|CVMFS에서 root 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[cvmfs_gcc|CVMFS에서 원하는 버전의 gcc 사용하기 문서가 추가되었습니다.]] 2021.07.12&lt;br /&gt;
* [[WebDav|dCache에서 WebDav 프로토콜 및 마카롱 인증 사용하기 문서가 추가되었습니다.]] 2021.06.22&lt;br /&gt;
* [[Rucio|Rucio 사용법 문서가 추가되었습니다.]] 2021.06.08&lt;br /&gt;
* [[Uberftp|uberftp에 치명적인 버그가 있습니다. 사용에 주의하세요]] 2021.05.17&lt;br /&gt;
* [[HTCondorGPU|HTCondor에서 GPU 사용법 문서가 추가되었습니다.]] 2021.05.12&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 갱신되었습니다.]] 2021.03.31&lt;br /&gt;
* [[mosh|mosh  가이드가 등록되었습니다.]] 2021.03.17&lt;br /&gt;
* [[x2go|x2go를 이용한 원격데스크탑 가이드가 등록되었습니다.]] 2021.03.11&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 갱신되었습니다.]] 2021.03.05&lt;br /&gt;
* [[HTCondor에서 GPU 사용하기]] 2021.03.04&lt;br /&gt;
* [[Duc|자신의 디스크 사용량을 쉽게 확인할 수 있는 툴을 소개합니다.]] 2020.11.05&lt;br /&gt;
* [[CreamCE/SL6 서비스 종료]] 2020.10.15&lt;br /&gt;
* [[HTCondor|HTCondor 사용법 문서가 작성중입니다.]] 2020.07.30&lt;br /&gt;
* [[CreamCE/Torque → HTCondorCE/HTCondor 이전 안내]] 2020.07.23&lt;br /&gt;
* 스토리지 엘리먼트가 1.45PB로 증가하였습니다.  2020.06.26&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 갱신 되었습니다.]] 2020.03.20&lt;br /&gt;
* [[Scratch Disk가 교체 및 증설 안내]] 2020.02.10&lt;br /&gt;
* [[Notion|Notion 문서를 추가하였습니다.]] 2019.09.20&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2019.08.30&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.12.10&lt;br /&gt;
* [[Singularity|Singularity 사용법 문서가 추가 되었습니다.]] 2018.12.03&lt;br /&gt;
* [[SFT|CVMFS SFT repository 사용법 문서가 추가 되었습니다.]] 2018.11.08&lt;br /&gt;
* [[torque|Torque 사용법 문서가 갱신 되었습니다.]] 2018.10.15&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 보강 되었습니다.]] 2018.08.31&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm에 큰 메모리를 사용하는 작업 전용의 queue를 추가하였습니다.]] 2018.07.13&lt;br /&gt;
* [[T2_KR_KNU_Decommissioned| 경북대 Tier2 서비스는 4월 30일자로 종료되고 해당자원은 Tier3로 통합됩니다.]] 2018.04.18&lt;br /&gt;
* cms03이 SL6로 업그레이드되었습니다. 2018.01.16&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial이 갱신 되었습니다.]] 2017.11.22&lt;br /&gt;
* [[Xrootd|xrootd 를 활용한 SE Data 사용 가이드가 별도 분리되었습니다.]] 2017.11.22&lt;br /&gt;
* 스토리지 엘리먼트가 1.29PB로 증가하였습니다.  2017.10.12&lt;br /&gt;
* [[crab|Crab Tutorial을 업데이트 하였습니다.]] 2017.06.29&lt;br /&gt;
* [[Storage_Element_Tutorial#xrootd_.EB.A5.BC_.ED.99.9C.EC.9A.A9.ED.95.9C_SE_Data_.EC.A0.91.EA.B7.BC_.EB.B0.A9.EB.B2.95|Storage Element Tutorial에서 xrootd 관련 항목이 업데이트 되었습니다.]] 2017.06.15&lt;br /&gt;
* [[Webfts|WebFTS 사용법 항목이 추가되었습니다.]] 2017.04.14&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 갱신되었습니다.]] 2016.12.06&lt;br /&gt;
* 스토리지 엘리먼트가 1.2PB로 증가하였습니다.  2016.12.05&lt;br /&gt;
* [[Task_monitoring_for_the_analysis_users|Analysis 사용자를 위한 작업 모니터링 가이드가 추가되었습니다.]] 2016.10.19&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트의 NFS 사용 가이드가 갱신되었습니다.]] 2016.10.07&lt;br /&gt;
* [[Dcap|dcap 사용법 항목이 추가되었습니다.]] 2016.10.06&lt;br /&gt;
* 스토리지 엘리먼트가 1PB로 증가하였습니다.  2016.08.10&lt;br /&gt;
* [[DCacheNFS|스토리지 엘리먼트를 UI에서 NFS로 바로 읽을 수 있습니다.]] 2016.07.19&lt;br /&gt;
* [[Tier3BatchQueueInfo|Tier3 batch farm의 queue에 대한 세부정보를 업데이트 하였습니다.]] 2016.02.12&lt;br /&gt;
* [[Motd|Tier2/3 UI motd(Message of the Day)에서 스토리지 엘리먼트를 비롯한 디스크 사용량을 확인할수 있습니다.]] 2015.12.28&lt;br /&gt;
* [[Ssh_Public_key_Authentication|보다 안전하고 편리한 ssh 공개키 인증 사용법 항목이 추가 되었습니다.]] 2015.12.28&lt;br /&gt;
* [[Create-batch|create-batch 사용법 항목이 추가 되었습니다.]] 2015.12.21&lt;br /&gt;
* [[Storage_Element_Tutorial|Storage Element Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[torque|Torque 사용법 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[crab|Crab Tutorial 항목이 별도로 분리 되었습니다.]] 2015.10.29&lt;br /&gt;
* [[Q&amp;amp;A|Q&amp;amp;A 항목이 추가 되었습니다.]] 2015.10.12&lt;br /&gt;
* [[uberftp | uberftp 사용법 항목이 추가되었습니다.]] 2015.10.12 &lt;br /&gt;
* T2_KR_KNU 홈페이지가 리뉴얼 되었습니다. 2015.10.12&lt;br /&gt;
* [https://indico.cern.ch/event/386181/ 2015 CMS DAS (Data Analysis School) at Korea가 개최되었습니다.] 2015.08.25~29&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3160</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3160"/>
		<updated>2024-06-13T08:18:16Z</updated>

		<summary type="html">&lt;p&gt;Song: /* exec */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 &#039;Hello, TensorFlow!&#039;&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3159</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3159"/>
		<updated>2024-06-13T08:16:09Z</updated>

		<summary type="html">&lt;p&gt;Song: /* exec */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
 $ &lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3158</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3158"/>
		<updated>2024-06-13T07:38:01Z</updated>

		<summary type="html">&lt;p&gt;Song: /* tensorflow 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;             ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3157</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3157"/>
		<updated>2024-06-13T07:36:38Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow2.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3156</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3156"/>
		<updated>2024-06-13T07:36:23Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 Singularity :~&amp;gt; python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
b&#039; Hello, TensorFlow!&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow2.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3155</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3155"/>
		<updated>2024-06-13T07:32:57Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 Singularity :~&amp;gt; &lt;br /&gt;
 Singularity :~&amp;gt; exit&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow2.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3154</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3154"/>
		<updated>2024-06-13T07:30:07Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python3&lt;br /&gt;
 Python 3.6.9 (default, Jan 26 2021, 15:33:00)&lt;br /&gt;
 [GCC 8.4.0] on linux&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(hello.numpy())&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; result = a + b&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print(result.numpy())&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow2.py&lt;br /&gt;
 #!/usr/bin/python3&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 print(hello.numpy())&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 result = a + b&lt;br /&gt;
 print(result.numpy())&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3150</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3150"/>
		<updated>2024-06-13T05:29:52Z</updated>

		<summary type="html">&lt;p&gt;Song: /* exec */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu\:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.17 (default, Jul 20 2020, 15:37:01)&lt;br /&gt;
 [GCC 7.5.0] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information. &lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드를 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3149</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3149"/>
		<updated>2024-06-13T05:28:57Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;             /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow-gpu\:latest/&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.17 (default, Jul 20 2020, 15:37:01)&lt;br /&gt;
 [GCC 7.5.0] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information. &lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3148</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3148"/>
		<updated>2024-06-13T02:40:08Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.17 (default, Sep 30 2020, 13:38:04)&lt;br /&gt;
 [GCC 7.5.0] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 Apptainer 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3147</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3147"/>
		<updated>2024-06-13T02:32:12Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.17 (default, Sep 30 2020, 13:38:04)&lt;br /&gt;
 [GCC 7.5.0] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3146</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3146"/>
		<updated>2024-06-13T02:07:38Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
 &lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3145</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3145"/>
		<updated>2024-06-13T02:06:08Z</updated>

		<summary type="html">&lt;p&gt;Song: /* CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
 &lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3144</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3144"/>
		<updated>2024-06-13T02:05:06Z</updated>

		<summary type="html">&lt;p&gt;Song: /* tensorflow 실행하기 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3143</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3143"/>
		<updated>2024-06-13T02:04:27Z</updated>

		<summary type="html">&lt;p&gt;Song: /* Apptainer 사용법 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ apptainer shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
Singularity :~&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ apptainer exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3142</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3142"/>
		<updated>2024-06-13T01:46:57Z</updated>

		<summary type="html">&lt;p&gt;Song: /* 컨테이너의 장점? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능합니다.&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ singularity shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity: Invoking an interactive shell within container...&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ singularity exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3141</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3141"/>
		<updated>2024-06-13T01:46:24Z</updated>

		<summary type="html">&lt;p&gt;Song: /* shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ singularity shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity: Invoking an interactive shell within container...&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ singularity exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
	<entry>
		<id>https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3140</id>
		<title>Singularity</title>
		<link rel="alternate" type="text/html" href="https://t2-cms.knu.ac.kr/index.php?title=Singularity&amp;diff=3140"/>
		<updated>2024-06-13T01:46:15Z</updated>

		<summary type="html">&lt;p&gt;Song: /* exec */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Apptainer 사용법 ==&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너란? ===&lt;br /&gt;
&lt;br /&gt;
* vmware로 대표되는 가상화 기술과는 다른 모듈식으로 프로그램을 격리하여 운영할 수 있는 기술입니다. &lt;br /&gt;
* 해상 운송에서 사용하는 컨테이너에서 이름을 따왔으며 OS 환경과 독립적으로 모듈식으로 설치하고 실행할 수 있습니다.&lt;br /&gt;
* 하드웨어 및 OS 계층을 두지 않고 프로세스만 격리하기 때문에 기존의 가상화 기술에 비해 실행속도가 월등히 빠릅니다.&lt;br /&gt;
* 대표적인 컨테이너 프로그램으로 docker(https://www.docker.com) 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 컨테이너의 장점? ===&lt;br /&gt;
&lt;br /&gt;
* 프로그램의 배포 및 설치가 쉽습니다. &lt;br /&gt;
** 해당 프로그램용으로 이미 구축된 이미지를 배포하고 그 이미지를 이용해서 바로 원하는 프로그램을 실행할 수 있습니다. &lt;br /&gt;
** 이 부분에서 가상화 환경의 이미지와 비슷해보이나 월등이 작은 저장공간만을 사용하고 실행 속도 또한 빠릅니다.&lt;br /&gt;
* OS 환경과 독립적인 실행환경을 구축할 수 있습니다. &lt;br /&gt;
** ex) Scientific Linux 6 환경에서 Centos 7 환경에서 컴파일된 프로그램을 실행할 수 있습니다. 그 반대도 가능&lt;br /&gt;
* 격리 환경이므로 사용자 프로그램간의 간섭을 최소화 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== Apptainer란? ===&lt;br /&gt;
&lt;br /&gt;
Apptainer (https://apptainer.org/) 과학 연산에 적합하게 만들어진 컨테이너 프로그램입니다. 과학연산 작업을 수행할때 docker보다 더 빠른 속도를 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
=== 기본 사용법 ===&lt;br /&gt;
&lt;br /&gt;
==== exec ====&lt;br /&gt;
&lt;br /&gt;
 apptainer exec 컨테이너이미지 실행명령&lt;br /&gt;
&lt;br /&gt;
* 준비된 이미지를 이용하여 단일 프로그램이나 스크립트를 실행합니다.&lt;br /&gt;
&lt;br /&gt;
==== shell ====&lt;br /&gt;
&lt;br /&gt;
 Apptainer shell 컨테이너이미지&lt;br /&gt;
&lt;br /&gt;
* 컨테이너 안에 interactive shell을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&lt;br /&gt;
==== crab3 실행 ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# CMSSW 설치&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ set SCRAM_ARCH=slc6_amd64_gcc481  // 아키텍쳐 설정&lt;br /&gt;
 $ scramv1 list CMSSW | grep CMSSW_7_2_ // CMSSW 조회&lt;br /&gt;
 $ scramv1 project CMSSW CMSSW_7_2_1  // CMSSW 설치&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# crab 환경 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/cmsset_default.sh&lt;br /&gt;
 $ cmsenv&lt;br /&gt;
 $ source /cvmfs/cms.cern.ch/crab3/crab.sh&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 설정&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ vi crab3config.py&lt;br /&gt;
 $ vi job.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# Grid proxy 생성&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ voms-proxy-init --voms cms &lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 실행&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab submit -c crab3config.py&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;u&amp;gt;# 작업 조회&amp;lt;/u&amp;gt; =====&lt;br /&gt;
 $ crab status&lt;br /&gt;
&lt;br /&gt;
==== tensorflow 실행하기 ====&lt;br /&gt;
&lt;br /&gt;
===== shell =====&lt;br /&gt;
&lt;br /&gt;
 $ singularity shell \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest&lt;br /&gt;
 Singularity: Invoking an interactive shell within container...&lt;br /&gt;
 &lt;br /&gt;
 $ python&lt;br /&gt;
 Python 2.7.12 (default, Dec  4 2017, 14:50:18)&lt;br /&gt;
 [GCC 5.4.0 20160609] on linux2&lt;br /&gt;
 Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import os&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sess = tf.Session()&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(hello)&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; a = tf.constant(15)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; b = tf.constant(10)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; print sess.run(a+b)&lt;br /&gt;
 25&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit&lt;br /&gt;
 Use quit() or Ctrl-D (i.e. EOF) to exit&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; quit()&lt;br /&gt;
 $&lt;br /&gt;
 $ exit&lt;br /&gt;
 /bin/sh: 3: Cannot set tty process group (No such process)&lt;br /&gt;
&lt;br /&gt;
* 위의 각 명령 실행시 cvmfs local cache에 관련 파일들이 다운로드 되어있지 않다면 많은 시간이 소요될 수 있습니다. 파일을 받았다면 두번째 부터는 빠르게 실행됩니다.&lt;br /&gt;
&lt;br /&gt;
===== exec =====&lt;br /&gt;
&lt;br /&gt;
 $ cat HelloTensorflow.py&lt;br /&gt;
 #!/usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 import os&lt;br /&gt;
 os.environ[&#039;TF_CPP_MIN_LOG_LEVEL&#039;] = &#039;2&#039;&lt;br /&gt;
 &lt;br /&gt;
 import tensorflow as tf&lt;br /&gt;
 hello = tf.constant(&#039;Hello, TensorFlow!&#039;)&lt;br /&gt;
 sess = tf.Session()&lt;br /&gt;
 print sess.run(hello)&lt;br /&gt;
 &lt;br /&gt;
 a = tf.constant(15)&lt;br /&gt;
 b = tf.constant(10)&lt;br /&gt;
 print sess.run(a+b)&lt;br /&gt;
&lt;br /&gt;
 $ singularity exec \&lt;br /&gt;
 &amp;gt;             --home $PWD:/srv \&lt;br /&gt;
 &amp;gt;             --bind /cvmfs \&lt;br /&gt;
 &amp;gt;             --contain --ipc --pid \&lt;br /&gt;
 &amp;gt;               /cvmfs/singularity.opensciencegrid.org/opensciencegrid/tensorflow:latest \&lt;br /&gt;
 &amp;gt;               ./HelloTensorflow.py&lt;br /&gt;
 WARNING: Container does not have an exec helper script, calling &#039;./HelloTensorflow.py&#039; directly&lt;br /&gt;
 /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`.&lt;br /&gt;
   from ._conv import register_converters as _register_converters&lt;br /&gt;
 Hello, TensorFlow!&lt;br /&gt;
 25&lt;br /&gt;
&lt;br /&gt;
* shell 예제와 동일한 python 코드들 파일로 만들어 실행합니다.&lt;br /&gt;
&lt;br /&gt;
=== CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지 ===&lt;br /&gt;
&lt;br /&gt;
2024년 6월 현재 CVMFS singularity.opensciencegrid.org repository에서 제공하고 있는 singularity 이미지는 다음과 같습니다. 계속해서 업데이트 되니 본인에게 필요한 이미지가 있는지 확인해보세요.&lt;br /&gt;
&lt;br /&gt;
 $ ls -Rt /cvmfs/singularity.opensciencegrid.org/&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/:&lt;br /&gt;
 pycbc                     eicweb              chunshen1987           rocker         lscsoft          opencarp       jasonkwan&lt;br /&gt;
 xenonnt                   opensciencegrid     htc                    igwn           library          jeffersonlab   cmssw&lt;br /&gt;
 rasa                      rjones30            teamcompas             star-bnl       fermilab         physino        anniesoft&lt;br /&gt;
 mythril                   mjanssen2308        jetscape               valetov        engineren        reedcompbio    chiehlin0212&lt;br /&gt;
 novaexperiment            npcooley            electronioncollider    computing      icecube          redtopexp      e1039&lt;br /&gt;
 intel                     xevra               amnh                   4ndr85         wipac            cnatzke        sickleinafrica&lt;br /&gt;
 bayeswave                 drtmfigy            matyasosg              ecpe4s         nathanjmcl       egoodman       cody.messick&lt;br /&gt;
 yannick.lecoeuche         snax                sylabsio               nvidia         pytorch          lammps         gromacs&lt;br /&gt;
 continuumio               mintproject         ankushumn              nnesquivelr    biocontainers    xwcl           houpengg&lt;br /&gt;
 ncbi                      comses              jcha40                 ericmjonas     gapscr           jagault        lmlepin9&lt;br /&gt;
 michaelwcoughlin          snowmass21software  opengatecollaboration  tylern4        nguyenatrowan    dananjaya92    amitkr2410&lt;br /&gt;
 bardelch                  luxzeplin           jinnian                beckermr       notredamedulac   agitter        nrstickley&lt;br /&gt;
 ehtcon                    ttrent808           eventhorizontelescope  fasthep        wrenchproject    rtikid         egstern&lt;br /&gt;
 mu2e                      lucarvirgo          atanasi                htcondor       astrand          brainlife      chaitanyaafle&lt;br /&gt;
 duncanabrown              sugwg               cyverse                evolinc        jbustamante35    discoenv       dajunluo&lt;br /&gt;
 nxdens                    nipreps             poldracklab            markito3       atlas            lincolnbryant  cmsl1tanalysis&lt;br /&gt;
 clelange                  kreczko             efajardo               bbockelm       raygunkennesaw   argonneeic     whit2333&lt;br /&gt;
 rhughwhite                lifebitai           ppaschos               yxfu93         weiphy           weiminghu123   vedularaghu&lt;br /&gt;
 syavuz                    sswiston            ssrujanaa              snirgaz        sjmay            showmic09      shilpac&lt;br /&gt;
 researchcomputing         relugzosiraba       rafaelnalin            parabola505    npavlovikj       npanicker      nkern&lt;br /&gt;
 nipy                      molssi              mfrayer                m8zeng         leofang          k3jph          kai2019&lt;br /&gt;
 justbennet                jml230              jonlam                 jiahe58        jborrel00        jasoncpatton   jamessaxon&lt;br /&gt;
 huckb                     habg                goodgolden5            grassla        evbauer          econtal        dmbala&lt;br /&gt;
 clkwisconsin              christinalk         cathrine98             cailmdaley     bpschenke        blibgober      blaylockbk&lt;br /&gt;
 arnaudbecheler            areias              arburks                amogan         agladstein       adwasser       aahong&lt;br /&gt;
 deltarod                  krespicio           djw8605                foldingathome  lukasheinrich    ssthapa        rynge&lt;br /&gt;
 rinnocente                pegasus             paesanilab             ml4gw          alec.gunny       fastml         alan.knee&lt;br /&gt;
 echoes-model-independent  lmxbcrosscorr       rhys.poulton           tessa.carver   rodrigo.tenorio  james-clark    joshua.willis&lt;br /&gt;
 chekanov                  aei-tgr  cwinpy     matthew-pitkin         patrickrmiles  scipp-atlas      rucio&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pycbc:&lt;br /&gt;
 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&lt;br /&gt;
 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  &lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/eicweb:&lt;br /&gt;
 eic_xl:nightly                  jug_xl:nightly                 jug_xl:24.05-stable                 jug_xl:24.05.2-stable                        eic_xl:24.05-stable&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 jug_xl:22.11-stable             jug_xl:22.11-main-stable       jug_xl:22.12-main-stable            jug_xl:23.02-main-stable&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/library:&lt;br /&gt;
 python:latest   julia:latest    ubuntu:latest    busybox:latest  r-base:latest  rockylinux:8&lt;br /&gt;
 alpine:latest   gcc:latest      debian:unstable  debian:testing  debian:stable  debian:latest&lt;br /&gt;
 fedora:latest   openjdk:9       openjdk:8        openjdk:latest  python:2.7     python:3.4&lt;br /&gt;
 centos:centos7  centos:centos6  centos:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/jeffersonlab:&lt;br /&gt;
 gluex_prod:v1  clas12software:devel  clas12software:production  gluex_devel:latest  japan:develop&lt;br /&gt;
 japan:latest   remoll:develop        remoll:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmssw:&lt;br /&gt;
 cms:rhel8-itb-ppc64le  cms:rhel9-itb-aarch64  cms:rhel8-ppc64le      cms:rhel9-aarch64      cms:rhel8-itb-aarch64&lt;br /&gt;
 cms:rhel9-itb-x86_64   cms:rhel8-itb-x86_64   cms:rhel9-itb          cms:rhel8-itb          cms:rhel8-aarch64&lt;br /&gt;
 cms:rhel9-x86_64       cms:rhel8-x86_64       cms:rhel9              cms:rhel8              cms:rhel7-itb-x86_64&lt;br /&gt;
 cms:rhel6-itb-x86_64   cms:rhel7-x86_64       cms:rhel6-x86_64       cms:rhel8-m-m20230425  cms:rhel8-m20200825&lt;br /&gt;
 cms:rhel8-m20200828    cms:rhel8-m20200904    cms:rhel8-m20200919    cms:rhel8-m20200918    cms:rhel8-m20201009&lt;br /&gt;
 cms:rhel8-m20201030    cms:rhel8-m20201106    cms:rhel8-m20201113    cms:rhel8-m20210227    cms:rhel8-m20210326&lt;br /&gt;
 cms:rhel8-m20210423    cms:rhel8-m20210518    cms:rhel8-m20210604    cms:rhel8-m20210611    cms:rhel8-m20210617&lt;br /&gt;
 cms:rhel8-m20210625    cms:rhel8-m20210702    cms:rhel8-m20210716    cms:rhel8-m20210723    cms:rhel8-m20210915&lt;br /&gt;
 cms:rhel8-m20210917    cms:rhel8-m20211001    cms:rhel8-m20211005    cms:rhel8-m20211014    cms:rhel8-m20211112&lt;br /&gt;
 cms:rhel8-m20211126    cms:rhel8-m20211202    cms:rhel8-m20211210    cms:rhel8-m20220114    cms:rhel8-m20220121&lt;br /&gt;
 cms:rhel8-m20220128    cms:rhel8-m20220204    cms:rhel8-m20220211    cms:rhel8-m20220218    cms:rhel8-m20220306&lt;br /&gt;
 cms:rhel8-m20220316    cms:rhel8-m-m20220323  cms:rhel8-m20220325    cms:rhel8-m20220331    cms:rhel8-m20220401&lt;br /&gt;
 cms:rhel8-m-m20220407  cms:rhel8-m20220415    cms:rhel8-m20220427    cms:rhel8-m20220509    cms:rhel8-m20220512&lt;br /&gt;
 cms:rhel8-m-m20220512  cms:rhel8-m-m20220514  cms:rhel8-m-m20220516  cms:rhel8-m20220516    cms:rhel8-m-m20220617&lt;br /&gt;
 cms:rhel8-m-m20220709  cms:rhel8-m-m20220903  cms:rhel8-m-m20221005  cms:rhel8-m-m20221009  cms:rhel8-m&lt;br /&gt;
 cms:rhel8-m20221018    cms:rhel8-m-m20221102  cms:rhel8-m-m20221104  cms:rhel8-m20221104    cms:rhel8-m-m20221113&lt;br /&gt;
 cms:rhel8-m-m20221112  cms:rhel8-m-m20221203  cms:rhel8-m-m20221216  cms:rhel8-m-m20230223  cms:rhel7-m201911&lt;br /&gt;
 cms:rhel7-m202001      cms:rhel7-m202002      cms:rhel7-m202006      cms:rhel7-m20200605    cms:rhel7-m20200612&lt;br /&gt;
 cms:rhel7-m20200615    cms:rhel7-m20200702    cms:rhel7-m20200724    cms:rhel7-m20200812    cms:rhel7-m20200828&lt;br /&gt;
 cms:rhel7-m20200904    cms:rhel7-m20200918    cms:rhel7-m20201010    cms:rhel7-m20201030    cms:rhel7-m20201113&lt;br /&gt;
 cms:rhel7-m20201211    cms:rhel7-m20201216    cms:rhel7-m20210205    cms:rhel7-m20210227    cms:rhel7-m20210326&lt;br /&gt;
 cms:rhel7-m20210423    cms:rhel7-m20210428    cms:rhel7-m20210518    cms:rhel7-m20210604    cms:rhel7-m20210609&lt;br /&gt;
 cms:rhel7-m20210611    cms:rhel7-m20210617    cms:rhel7-m20210622    cms:rhel7-m20210625    cms:rhel7-m20210630&lt;br /&gt;
 cms:rhel7-m20210702    cms:rhel7-m20210716    cms:rhel7-m20210723    cms:rhel7-m20210818    cms:rhel7-m20210914&lt;br /&gt;
 cms:rhel7-m20210917    cms:rhel7-m20210925    cms:rhel7-m20211001    cms:rhel7-m20211005    cms:rhel7-m20211014&lt;br /&gt;
 cms:rhel7-m20211112    cms:rhel7-m20211126    cms:rhel7-m20211202    cms:rhel7-m20211210    cms:rhel7-m20220114&lt;br /&gt;
 cms:rhel7-m20220121    cms:rhel7-m20220128    cms:rhel7-m20220204    cms:rhel7-m20220211    cms:rhel7-m20220218&lt;br /&gt;
 cms:rhel7-m20220305    cms:rhel7-m20220316    cms:rhel7-m20220323    cms:rhel7-m20220325    cms:rhel7-m20220331&lt;br /&gt;
 cms:rhel7-m20220401    cms:rhel7-m20220415    cms:rhel7-m20220427    cms:rhel7-m20220506    cms:rhel7-m20220512&lt;br /&gt;
 cms:rhel7-m20221018    cms:rhel7-m20221104    cms:rhel6-m201911      cms:rhel6-m202001      cms:rhel6-m202002&lt;br /&gt;
 cms:rhel6-m202006      cms:rhel6-m20200605    cms:rhel6-m20200612    cms:rhel6-m20200702    cms:rhel6-m20200724&lt;br /&gt;
 cms:rhel6-m20200731    cms:rhel6-m20200812    cms:rhel6-m20200828    cms:rhel6-m20200904    cms:rhel6-m20200918&lt;br /&gt;
 cms:rhel6-m20201010    cms:rhel6-m20201030    cms:rhel6-m20201106    cms:rhel6-m20201113    cms:rhel6-m20210428&lt;br /&gt;
 cms:rhel6-m20210623    cms:rhel6-m20210630    cms:rhel6-m20210820    cms:rhel6-m20211005    cms:rhel6-m20211126&lt;br /&gt;
 cms:rhel6-m20220609    cms:rhel6-m20221107    cms:rhel7-itb          cms:rhel6-itb          cms:rhel7&lt;br /&gt;
 cms:rhel6&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rasa:&lt;br /&gt;
 rasa-x:latest  rasa:latest  rasa:2.8.15&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rjones30:&lt;br /&gt;
 gluextest:latest  gluex:latest  gluexpro8:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/teamcompas:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 compas:02.38.01  compas:02.38.02  compas:02.38.03&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/novaexperiment:&lt;br /&gt;
 el7-tensorflow-gpu:latest    nova-sl7-novat2k:scaledasimov  nova-sl7-novat2k:v7_pvalue          nova-sl7-novat2k:v6c_nightmareplus      nova-sl7-novat2k:latest&lt;br /&gt;
 slf67:latest                 sl7:v1.1.0                     sl7:mpichdiy                        sl7:mini                                sl7:master&lt;br /&gt;
 sl7:latest                   nova-sl7-novat2k:v5_setasimov  nova-sl7-novat2k:v4_fixcosmicsrock  nova-sl7-novat2k:v3_realnddata_cosmics  nova-sl7-novat2k:v2_withnorms&lt;br /&gt;
 nova-sl7-novat2k:v1_nonorms  nova-sl7-novat2k:poissondata   nova-sl7-novat2k:novatest           nova-sl7-novat2k:nightmare              nova-sl7-novat2k:aborttest&lt;br /&gt;
 nova-sl7-novat2k:2020-10-27_freeze&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/npcooley:&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 phylosim:latest   deepec:latest     heron:latest&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/nvidia:&lt;br /&gt;
 opencl:runtime-ubuntu16.04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/pytorch:&lt;br /&gt;
 pytorch:1.13.0-cuda11.6-cudnn8-devel  pytorch:1.12.1-cuda11.3-cudnn8-devel&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lammps:&lt;br /&gt;
 lammps:stable_29Sep2021_centos7_openmpi_py3&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/gromacs:&lt;br /&gt;
 gromacs:2018.2                        gromacs:2018.4                        gromacs:ci-docs-py27                   gromacs:ci-clang-tidy                 gromacs:ci-clang-tidy-builder&lt;br /&gt;
 gromacs:ci-gcc-5-cuda-10.0            gromacs:ci-clang-6.0                  gromacs:ci-docs                        gromacs:ci-gcc-5                      gromacs:ci-gcc-6&lt;br /&gt;
 gromacs:ci-gcc-7                      gromacs:ci-gcc-8                      gromacs:ci-clang-6                     gromacs:ci-clang-7                    gromacs:ci-clang-8&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 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&lt;br /&gt;
 gromacs:gmx-2022.2-cuda-11.6.0-sse2   gromacs:2022.2  gromacs:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/continuumio:&lt;br /&gt;
 anaconda:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/mintproject:&lt;br /&gt;
 droughtindices:latest  topoflow:36_viz       topoflow:latest_viz  topoflow:v1_viz           topoflow:floodseverityindex_v1&lt;br /&gt;
 topoflow:36            topoflow:v2           topoflow:viz_v2      topoflow:viz_2            topoflow:2.1.0-1&lt;br /&gt;
 topoflow:2.2.0         topoflow:2.1.0        topoflow:latest      modflow-2005:latest       mintviz:latest&lt;br /&gt;
 pihm2cycles:1.1        pihm2cycles:1.2       sentinel:latest      hand:develop              hand:v2&lt;br /&gt;
 hand:v2.1.0            hand:v1               hand:latest          kimetrica:latest          economic:v2&lt;br /&gt;
 economic:v5            economic:latest       dssat:latest         cycles:0.9.4-alpha        cycles:0.9.3-alpha&lt;br /&gt;
 cycles:0.10.2-alpha    cycles:v0.12.9-alpha  cycles:latest        floodseverityindex:v1     floodseverityindex:latest&lt;br /&gt;
 base-ubuntu18:latest   base-ubuntu16:latest  ankush:latest        weather-generator:latest  pihm2cycles:1.0&lt;br /&gt;
 pihm:v2                pihm:v4               pihm:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/markito3:&lt;br /&gt;
 gluex_docker_prod:latest  gluex_docker_devel:latest&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/atlas:&lt;br /&gt;
 athanalysis:21.2.4  analysisbase:21.2.4&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/lincolnbryant:&lt;br /&gt;
 atlas-wn:latest&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;중략&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/cmsl1tanalysis:&lt;br /&gt;
 cmsl1t:v6-18-04  cmsl1t:0.5.1_root_v6-18-04  cmsl1t-dev:v6-18-04&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/scipp-atlas/mario-mapyde:&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio:&lt;br /&gt;
 igwn-rucio-client&lt;br /&gt;
 /cvmfs/singularity.opensciencegrid.org/rucio/igwn-rucio-client:&lt;br /&gt;
&lt;br /&gt;
=== 경북대 UI에서 사용시 주의사항 ===&lt;br /&gt;
&lt;br /&gt;
* 보안문제로 cvmfs 외의 이미지는 현재 지원하고 있지 않습니다.&lt;br /&gt;
* 따라서 이미지 생성 및 다운로드 등 이미지 사용과 관련된 명령어는 현재 사용할 수 없습니다.&lt;br /&gt;
* cvmfs의 특성상 원하는 이미지가 로컬 cache에 저장되어 있지 않다면 파일 다운로드로 인하여 초기 실행에 많은 시간이 필요할 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
=== 참고문서 ===&lt;br /&gt;
&lt;br /&gt;
* Apptainer 사용자 가이드 : https://apptainer.org/docs/user/main/&lt;br /&gt;
* Apptainer 관리자 가이드 : https://apptainer.org/docs/admin/main/&lt;/div&gt;</summary>
		<author><name>Song</name></author>
	</entry>
</feed>