저는 Unix 서버(OS: centos5)를 사용하고 있으며 여러 클러스터를 사용하고 있습니다.
일부 클러스터에는 8개의 코어가 있고 다른 클러스터에는 24개의 코어가 있는 식입니다.
이 명령을 사용하여 작업을 실행합니다.
qsub -q cluster_name -d $PWD Program_name
클러스터를 효율적으로 사용하기 위해 OPENMP를 병렬화에 사용합니다.
문제는 대부분의 경우 내 프로그램이 동시에 3개의 코어만 사용한다는 것입니다.
즉, 컴퓨팅 성능을 많이 낭비했습니다.
클러스터 대신 PC(Ubuntu)를 사용하면,
효율성을 극대화하기 위해 다음과 같은 방법으로 사용합니다.
OPEN TERMINAL
export OPM_NUM_THREAD=A
./program_name
하지만 이 방법을 클러스터에 적용하는 방법을 모르겠습니다.
그래서 클러스터를 다음과 같이 사용하고 싶습니다.
./Execute.sh
그리고 Execute.sh는,
SET_NUMBER_OF_CORE_FOR_PROGRAM1
qsub -q cluster_name -d $PWD Program_name1&
SET_NUMBER_OF_CORE_FOR_PROGRAM2
qsub -q cluster_name -d $PWD Program_name2&
...
SET_NUMBER_OF_CORE_FOR_PROGRAMn
qsub -q cluster_name -d $PWD Program_namen&
적어도 모든 프로그램에 대해 동일한 수의 코어를 가질 수 있었으면 좋겠습니다.
이 작업을 수행하는 방법을 알고 있다면 알려주십시오.
읽어 주셔서 감사합니다,
사용자 2268721.