cuda driver 설치

nvidia hpc sdk 설치

-설치 확인

$nvidia-smi -q

$nvaccelinfo -v     -> 가속기 정보가 나와야함

libcuda.so not found
No accelerators found. 발생시

bash에 라이브러리 path 추가
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/wsl/lib

 

 

'리눅스이야기' 카테고리의 다른 글

Ubuntu module 설정  (0) 2023.07.13
mpi 디버깅하기  (1) 2018.07.06
포트란 메모리 leak 찾기  (0) 2018.06.18
mpi error 발생시 체크사항  (0) 2016.07.14
Error Fix : mount , Stale file handle  (2) 2016.05.11
Posted by 스핏파이어
,



$sudo apt-get install environment-modules

$source /etc/profile.d/modules.sh


'리눅스이야기' 카테고리의 다른 글

WSL2에서 Nvidia hpc sdk 이용  (0) 2023.07.13
mpi 디버깅하기  (1) 2018.07.06
포트란 메모리 leak 찾기  (0) 2018.06.18
mpi error 발생시 체크사항  (0) 2016.07.14
Error Fix : mount , Stale file handle  (2) 2016.05.11
Posted by 스핏파이어
,



* gdb 이용해서 mpi 디버깅 하기

컴파일시 우선 -g 옵션을 이용하여 디버깅 가능하도록 set


-실행 

$mpirun -gdb -n * ./testprogram


- 브레이크 포인트 지정

(mpigdb) break filename:linenumber


- 브레이크 포인트 제거

(mpigdb) clear filename:linenumber


- 진행

(mpigdb) next

(mpigdb) step


- 변수값 출력

(mpigdb) print variablename


- 정상프로그램으로 진행

(mpigdb) continue


- gdb Quit

(mpigdb) quit


'리눅스이야기' 카테고리의 다른 글

WSL2에서 Nvidia hpc sdk 이용  (0) 2023.07.13
Ubuntu module 설정  (0) 2023.07.13
포트란 메모리 leak 찾기  (0) 2018.06.18
mpi error 발생시 체크사항  (0) 2016.07.14
Error Fix : mount , Stale file handle  (2) 2016.05.11
Posted by 스핏파이어
,



memprof 나 Valgrind 이용


포트란에 c 언어 첨부해서 이용하는 것과 동일하게 됨


Valgrind 단순 예제(g 포트란 이용시 -g 옵션으로 이용가능)

        gfortran -g myprog.f90
        mv a.out myprog
        valgrind myprog


mpich 이용시 찾는 방법

mpirun -n 6 valgrind --leak-check=full --show-reachable=yes --log-file=nc.vg.%p ./core.exe


우선 컴파일시 -g 옵션으로 진행을 하고 나서 

--leak-check=full : 에러 발생시 소스와 라인 위치 모두 출력

--log-file=** : 체크결과 저장할 로그 파일


실행 후

Leak summary에서 대략적인 내용 확인

각 라인을 확인하여 문제가 있는 코드상의 위치들을 확인해 볼것(definitely lost 부분 확인)

보통 MPI 를 이용할 경우에 MPI 에 대해서 memery leak 이 나오는 경우가 있는데, 이 경우 해당 부분이 확실하지 않은 경우, 무시하거나 또는 suppression 을 이용하여 해당 결과를 무시할 수 있게 해야함.

'리눅스이야기' 카테고리의 다른 글

Ubuntu module 설정  (0) 2023.07.13
mpi 디버깅하기  (1) 2018.07.06
mpi error 발생시 체크사항  (0) 2016.07.14
Error Fix : mount , Stale file handle  (2) 2016.05.11
Raspberry Pi TL-WN725N Wireless 설정  (0) 2014.05.10
Posted by 스핏파이어
,



증상)

mpi error 발생시 특별한 이유없이 멈추는 경우, (mpi_err /= mpi_success 에서 체크안되는 경우)


unexpected DAPL connection event 0x4008


해결책)

pbs 설정에서 노드당 cpu 개수 줄여서 테스트 해볼것.


!===================================================================

증상)

qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes (nodes file is empty or all systems are busy)


해결책)

#PBS -l nodes=             라인 설정 체크



Posted by 스핏파이어
,



mount 풀어준 뒤 다시 설정, nfs 튕길때


umount -f /mnt/local
mount /mnt/local


===================================================================

NFS mount


main


#mount.lustre 192.168.0.241@tcp0:/LFS /Lustre

#mount -t nfs 192.168.0.146:/Lustre /Lustre_NFS/

#/etc/rc.d/init.d/nfs restart


sub-nodes


#mount -t nfs **001:/Lustre /Lustre_NFS/

Posted by 스핏파이어
,



얼마전에 집근처 MicroCenter 에서 Raspberry Pi 를 10불이나 세일해서 팔길래 하나 집어 왔습니다.


그리고 부속으로 Wifi 모듈도 하나 사왔었는데 이 모델이 TL-WN725N 모델이어서 Raspbian 에서 바로 잡히지 않는 문제가 있습니다.


제가 이용하는데 잠시 정리해 놓은 글이니 혹시나 관련 사항으로 문제가 되시는 분이 계시면 도움이 되셨으면 합니다.


우선 Command 창을 여신후에 Raspbian 버전을 확인합니다.


$uname -a

Linux raspberrypi 3.10.25+ #622 FREEMPT Fri  


저의 현재 버전은 3.10.25 입니다.


다음으로 해당 버전에 맞는 드라이버를 다운 받습니다.


해당버전은 http://www.raspberrypi.org/ 에서 찾을 수 있습니다.


3.10.24+ #610       - 8188eu-20131209.tar.gz

3.10.24+ #614       - 8188eu-20131219.tar.gz

3.10.25+ #616, #618 - 8188eu-20131219.tar.gz
3.10.25+ #622, #624 - 8188eu-20131219.tar.gz

3.10.26+ #628       - 8188eu-20140110.tar.gz

3.10.27+ #630       - 8188eu-20140117.tar.gz

3.10.28+ #632, #634 - 8188eu-20140117.tar.gz

3.10.29+ #636, #638 - 8188eu-20140117.tar.gz


다운은 wget 명령어로 받으시고 압축을 푸신 후 생성되는 8188eu.ko 파일을 해당 디렉토리에 넣어주시면 됩니다.


그런다음 드라이버 업데이트 후 이용하시면 됩니다. 아래 명령어 순서대로 이용!


$wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20131219.tar.gz

$tar -zxvf 8188eu-20131219.tar.gz

$sudo install -p -m 644 8188eu.ko /lib/modules/3.10.25+/kernel/drivers/net/wireless


$sudo depmod -a 


$sudo modprobe 8188eu


이제 wireless 동글의 드라이버 설정은 됐구요. 무선네트워크 설정후 이용하시면 됩니다.

Posted by 스핏파이어
,



Error Message :    ****  caused collective abort of all ranks exit status of rank *****


Solution : check array size. It is solved when I change the maximum size of one of the arrays.



Posted by 스핏파이어
,



#! /bin/sh
#PBS -N job_test
#PBS -l nodes=1:ppn=4
#PBS -j oe

exef=test.exe
outf=out.1

#-----------make the following universal and unchanged for any user-------------

cd $PBS_O_WORKDIR
jobid=`echo $PBS_JOBID |cut -fl -d"."`
cat $PBS_NODEFILE $PBS_O_WORKDIR/$PBS_JOBNAME.hosts.$jobid

nprocs=`cat $PBS_NODEFILE |wc -l` # total number of processors

echo "Job started on `hostname` at `dat`">$outf
cat $PBS_NODEFILE                       >>$outf
cat $PBS_NODEFILE|sort -u|gawk '{print $1}'>mpd.hosts
num_nodes=`cat mpd.hosts|wc -l`
mpdboot -n $num_nodes
if [ $? -eq "0" ]; then
        echo "mpiexec -machinefile $PBS_NODEFILE -n $nprocs $exef >> $outf" >>$outf
        mpiexec  -machinefile $PBS_NODEFILE -n $nprocs   $exef              >>$outf
        echo "Job Ended at `date`"                                          >>$outf
        mpdallexit
        exit 0
else
        echo "error mpdboot">>$outf
        exit 1
fi

#!/bin/sh
#PBS -l walltime=72:00:00
#PBS -N job_test
#PBS -l nodes=1:ppn=4
#PBS -j oe

# the following give the path for the exe file and the name of the output
 exef=./test.exe
 outf=out.1

# ----- the remaining part need not change -----

 cd $PBS_O_WORKDIR
 jobid=`echo $PBS_JOBID |cut -f1 -d"."`
 # cat $PBS_NODEFILE > $PBS_O_WORKDIR/$PBS_JOBNAME.hosts.$jobid
 nop=$(wc -l $PBS_NODEFILE | awk '{print $1}')

# ----- echo information -----
 echo "Job started on `hostname` at `date`" >> $outf
 echo "Job is running on node(s): " >> $outf
 cat $PBS_NODEFILE                  >> $outf

# ----- start up the mpd daemons and check the mpd ring. -----
startmpd()
{
 echo ' ' >>$outf
 echo ' starting up mpd daemons '
 # create nodefile for use by mpdboot
 # cat $PBS_NODEFILE | sort | uniq -c | awk '{printf("%s:%s\n",$2,$1)}' > mpd.nodes
 cat $PBS_NODEFILE|sort -u|gawk '{print $1}'>mpd.hosts
 num_nodes=`cat mpd.hosts|wc -l`

 mpdboot -n $num_nodes

 sleep 10
 mpdtrace -l
 mpdringtest 100
}

# ----- end mpd deamon -----
endmpd()
{
 echo ' '
 echo ' killing mpd daemons '
 mpdallexit
}

# ----- Execute the run . Do not run in the background. -----
runprogram()
{
if [ $? -eq "0" ]; then
        echo "Job Start at `date`"
        mpiexec -machinefile $PBS_NODEFILE -np $nop $exef >>$outf
        echo "Job Ended at `date`"
else
        echo "error mpdboot"
fi
}

# ----- "qdel" command is used to kill a running job -----
early()
{
 echo ' '
 echo ' ######## WARNONG : EARLY TERMINATION ######## '
 echo ' '
}

trap 'early; stageout' 2 9 15

##################################################
# Full sequence                                  #
##################################################
startmpd
runprogram
endmpd

# -----
exit 0


mpd daemon 이용법 참조
Posted by 스핏파이어
,

kill 명령어

리눅스이야기 2011. 1. 13. 16:37



$kill pid

혹은 강제 종료시

$kill -9 pid

-9 가 강제옵션임
Posted by 스핏파이어
,