스크립트의 setenv는 프롬프트에 설정된 값을 덮어쓰지 않습니다.

스크립트의 setenv는 프롬프트에 설정된 값을 덮어쓰지 않습니다.

하려고 노력 중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

추가 자료:

관련 정보