각각 8 개의 물리적 코어가 포함 된 두 개의 CPU가있는 단일 Linux 컴퓨터에서 R 스크립트를 실행하려고합니다. R 코드는 detectCores()
을 통해 자동으로 코어 수를 확인하고이 수를 1 줄이고 makePSOCKcluster
명령에 구현합니다. 성능 매개 변수에 따르면 R은 CPU와 하이퍼 스레 드 중 하나만 사용합니다. 두 번째 CPU에 작업 부하가 분산되지 않습니다.R : makePSOCKcluster hyperthreads CPU 코어의 50 %
detectCores(logical = FALSE)
으로 지정하는 경우 첫 번째 CPU의 부담은 작지만 두 번째 CPU는 여전히 비활성 상태입니다.
어떻게 수정합니까? 전체 인프라가 단일 시스템에 있으므로이 경우에는 Rmpi
이 필요하지 않습니다.
FYI : R 스크립트는 패키지에 의존하는 foreach
루프로 구성됩니다.
**'lstopo' **에서보고 한 바와 같이 실제 하드웨어 NUMA 발견 프로세스의 결과물을 게시 하시겠습니까? – user3666197