하려고 노력 중setenv OMP_NUM_THREADS 8
이 작업은 쉘 프롬프트에서 수행하면 setenv OMP_NUM_THREADS 4
성공합니다 . 프로그램을 시작하면 4개의 코어에서 실행됩니다.
그런데 '라는 파일이 있는데 runme
그게 바로 이거예요.
setenv OMP_NUM_THREADS 8
cd /scratch/run1
./crunch_numbers.x
내 crunch_numbers.x
프로그램은 openMP와 병렬로 실행되며 OMP_NUM_THREADS
환경 변수를 사용합니다.
Runme 스크립트가 8개 코어가 아닌 4개 코어에서 실행될 때 문제는 crunch_numbers입니다. 내 스크립트의 OMP_NUM_THREADS 설정이 작동하지 않습니다. 스크립트에서 setenv를 적용하는 방법은 무엇입니까?
또한 내 쉘은 /bin/tcsh입니다. bash 쉘에서는 사용할 계획이 없습니다. 감사해요.
답변1
를 사용하려는 경우 tcsh
스크립트에서 다음과 같이 말해야 하며 시작 부분에 입력해야 합니다.
#!/bin/tcsh -f
#!/bin/tcsh
커널이 실행되도록 지시저것대신 프로그램을 실행 #/bin/sh
하고 옵션은 자신을 다시 초기화하지 말라고 -f
알려줍니다 .tcsh
추가 자료:
- 매개변수 목록 처리(tcsh)
- Shebang과 현재 쉘의 관계