$root> qconf -ap serial

    slots = 9999

$root> qsub -cwd -pe serial 6 test.sh

 

'TA > Cluster' 카테고리의 다른 글

[sge] queue management in SGE  (0) 2012.12.24
[sge] SGE qsub bashrc bash_profile  (0) 2012.12.24
[sge] qsub 할때 default option 값 지정해두는 방법  (0) 2012.12.24
[sge] sge qsub, qstat, qdel  (0) 2012.12.24
[sge] sge queue 그룹 관리  (0) 2012.12.24
Posted by 옥탑방람보
,

qsub 할때 default option 값 지정해두는 방법

$> vi /opt/gridengine/default/common/sge_request

파일내에 넣어주면 된다.

 

예)

유저의 환경설정 상태를 그대로 가지고 가는 옵션 인 -V 를 이 파일내에 넣어준다.

'TA > Cluster' 카테고리의 다른 글

[sge] SGE qsub bashrc bash_profile  (0) 2012.12.24
[sge] qsub 할때 slot 수 할당하는 방법  (0) 2012.12.24
[sge] sge qsub, qstat, qdel  (0) 2012.12.24
[sge] sge queue 그룹 관리  (0) 2012.12.24
[useradd] 클러스터에서 계정 추가  (0) 2012.12.24
Posted by 옥탑방람보
,

1. job 제출

    $> qsub [jobname]  

    $> qsub -cwd [jobname]  # 현재 디렉토리에 STDOUT, STDERROR 씀.

    $> qsub -j y [jobname]  # STDOUT, STDERROR 를 같은 파일에 씀.

    $> qsub -q [queuename] [jobname] # 지정된 queuename 에만 job을 던짐.

    $> qsub -l hostname=[hostname] [jobname] # 지정된 hostname 에만 job을 던짐. 예) qsub -l hostname=compute-0-1

    $> qsub -S [path] [jobname]  # path 실행파일로 job을 실행 예) qsub -S /usr/bin/python sample.py

2. job 삭제

    $> qdel [jobid]  # 지정된 jobid 를 삭제

    $> qdel -u [userid]  # 지정된 userid 가 던진 job은 모두 삭제

    $> qdel -f  # 강제로 job을 삭제 (Eqw 등 되어진 상황에서는 sge 상 정보만 삭제하게 됨. 실제 노드에서는 돌고 있음)

3. job 모니터링

    $> qstat

    $> qstat -u "[userid]" # 지정된 userid 가 던진 job을 모니터링  예) qdel -u "*"  모든 계정에 대해 잡 모니터링

Posted by 옥탑방람보
,

#!/usr/bin/env python

import kimps, drmaa

 

def argsOption():

    usage = "usage: %prog -o ./cluster_out/ ./input_dir/"

    parser = kimps.OptionParser( usage=usage )

    parser.add_option( "-o", "--cluster_out",dest="cluster_out",help="out stream of sge")

    (options, args) = parser.parse_args()

    if len(args) != 1:

        parser.error("incorrect number of arguments")

    return options, args

 

# main

options,args = argsOption()

input_dir = args[0]

 

inpath = input_dir

outpath = options.cluster_out

if not(outpath): outpath = inpath

 

s = drmaa.Session()

s.initialize()

jt = s.createJobTemplate()

joblist = []

#kimps_ctime.stime( kimps.sys._getframe().f_code.co_filename )

inlist = kimps.glob.glob( inpath + '*.sh' )

for onein in inlist:

    kimps.os.chmod( onein, 0766 )

    inname = onein.split('/')[-1]

    innametag = '.'.join(inname.split('.')[:-1])

 

    jt.remoteCommand = onein

    jt.nativeSpecification = " -V -S /bin/bash -j y -cwd -o "+outpath+innametag+".qout"

    jt.joinFiles = True

    joblist.append( s.runJob( jt ) )

 

s.synchronize( joblist, drmaa.Session.TIMEOUT_WAIT_FOREVER, False)

 

for curjob in joblist:

#   print "Collecting job "+curjob

    retval = s.wait( curjob, drmaa.Session.TIMEOUT_WAIT_FOREVER )

#   print 'Job: '+ str(retval.jobId ) + 'finished with status '+ str(retval.hasExited)

 

s.deleteJobTemplate( jt )

s.exit()

Posted by 옥탑방람보
,

#!/usr/bin/env python

import kimps, drmaa

 

def argsOption():

    usage = "usage: %prog -o ./cluster_out/ ./input_dir/"

    parser = kimps.OptionParser( usage=usage )

    parser.add_option( "-o", "--cluster_out",dest="cluster_out",help="out stream of sge")

    (options, args) = parser.parse_args()

    if len(args) != 1:

        parser.error("incorrect number of arguments")

    return options, args

 

# main

options,args = argsOption()

input_dir = args[0]

 

inpath = input_dir

outpath = options.cluster_out

if not(outpath): outpath = inpath

 

s = drmaa.Session()

s.initialize()

jt = s.createJobTemplate()

joblist = []

#kimps_ctime.stime( kimps.sys._getframe().f_code.co_filename )

inlist = kimps.glob.glob( inpath + '*.sh' )

for onein in inlist:

    kimps.os.chmod( onein, 0766 )

    inname = onein.split('/')[-1]

    innametag = '.'.join(inname.split('.')[:-1])

 

    jt.remoteCommand = onein

    jt.nativeSpecification = " -V -S ~/bin/python -j y -cwd -o "+outpath+innametag+".qo"

    jt.joinFiles = True

    joblist.append( s.runJob( jt ) )

 

s.synchronize( joblist, drmaa.Session.TIMEOUT_WAIT_FOREVER, False)

 

for curjob in joblist:

#   print "Collecting job "+curjob

    retval = s.wait( curjob, drmaa.Session.TIMEOUT_WAIT_FOREVER )

#   print 'Job: '+ str(retval.jobId ) + 'finished with status '+ str(retval.hasExited)

 

s.deleteJobTemplate( jt )

s.exit()

Posted by 옥탑방람보
,