"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Numpy 가져 오기가 멀티 프로세싱을 단일 코어로 제한하는 이유는 무엇입니까?

Numpy 가져 오기가 멀티 프로세싱을 단일 코어로 제한하는 이유는 무엇입니까?

2025-02-07에 게시되었습니다
검색:870

Why Does Importing Numpy Limit Multiprocessing to a Single Core?

설명 :

Numpy (예 : OpenBlas) 내의 특정 CPU 집약적 인 모듈은 핵심 친화력을 수정할 수 있습니다. 이 간섭은 모든 작업자 프로세스를 동일한 코어에 할당하여 멀티 프로세싱의 병렬화 이점을 제거합니다.

Workaround :

Why Does Importing Numpy Limit Multiprocessing to a Single Core?

스 니펫 : os.system ( "taskset -p 0xff % d" % os.getpid ()). 이 명령은 운영 체제가 사용 가능한 모든 코어에 대해 작업자 프로세스를 고르게 배포하도록 강요합니다.

추가 고려 사항 :

이 접근법은 큰 영향을 미치지 않는 것으로 관찰되었습니다. Numpy의 성능에서는 특정 기계와 작업에 따라 효과가 다를 수 있습니다.

대안 솔루션 :

환경을 설정합니다. 스크립트를 실행하기 전에.
  • 컴파일하는 동안 OpenBlas makefile.rule을 수정하여 no_affinity = 1을 포함하도록 수정하십시오. 핵심 클러스터링의 초기 문제 해결 및 병렬화 성능 향상.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3