CPU 의존도가 높은 파이썬 프로그램을 실행할 때 단 하나의 코어 만 사용합니다. 프로그램을 실행할 때 여러 개의 코어를 할당 할 수 있습니까?파이썬 프로그램에 복수 코어 할당
5
A
답변
12
여러 코어에 대해 명시 적으로 프로그램해야합니다. 파이썬의 많은 병렬 처리 솔루션에 대해서는 this page의 Symmetric Multiprocessing 옵션을 참조하십시오. Parallel Python은 옵션을 비교하는 데 신경 쓸 수 없다면 좋은 선택입니다. 예제는 here입니다.
일부 문제는 여러 코어를 활용할 수 없습니다. 세 친구의 도움을 받아 계단을 빨리 달릴 수있는 방법에 대해 생각해보십시오. 그런 일은 없을 것이다!
4
문제의 일부가 병렬로 실행할 수 있다면, 당신은 아직 아무도 CPython과의 GIL (글로벌 통역 잠금)를 언급하지 이유가 궁금 multiprocessing module
4
으로 보일 것입니다. 이것은 기본적으로 하나의 파이썬 인터프리터 안에있는 여러 스레드가 다중 코어의 힘을 사용할 수 없다는 것을 의미합니다. 왜냐하면 많은 연산이 스레드로부터 안전하기 위해서 전역 잠금으로 보호되기 때문입니다. 이는 CPU에 묶여있는 소량의 응용 프로그램에만 적용됩니다. 더 자세한 정보는 "GIL"이라는 용어를 검색하기 만하면 이미 많은 질문이 있습니다 (예 : that one).
이 답변은 물론 실제로 여러 스레드를 사용 중이라고 가정합니다. 그렇지 않으면 여러 코어를 사용할 수 없습니다 (multiprocessing 다른 가능성이 있음).