6

병렬 계산을하기 위해 CPU의 코어 대 GPU의 코어 개념을 이해하는 데 도움이 필요합니다.GPU 대 CPU? 프로그램 계산 가속화를위한 GPU의 코어/스레드 수?

CPU의 코어에 관해서는 꽤 간단 해 보입니다. 나는 4 회 반복되는 "for"루프를위한 초 집중적 인 "for"루프를 가지고있다. 인텔 i5 2.26GHz CPU에는 4 개의 코어가 있습니다. 각 코어에 하나의 루프를 제공합니다. 네 개의 루프는 각각 서로 독립적입니다. 붐 - 이제 네 개의 스레드가 생성되고 100 % CPU 사용량 (단 하나의 코어로 25 % CPU 사용량 대신)이 생겼습니다. 내 "for"루프는 이제 병렬화하지 않은 경우보다 4 배나 빠르게 실행됩니다. 그런데 for 루프의 경우,이 온라인 예제 에서처럼 Microsoft Visual Studio 2012에서 사용할 수있는 자동 병렬화를 사용하고있었습니다 (http://msdn.microsoft.com/en-us/library/hh872235.aspx).

대조적으로 병렬 계산에 사용할 수있는 노트북의 GPU (Intel Graphics Media Accelerator HD 또는 Intel HD Graphics, 1696MB 공유 메모리)의 코어 수를 알지 못합니다. 나는 GPU와 CPU를 비교하는 올바른 방법조차 모른다. 내 그래픽 카드 설명 옆에 "12 @ 500MHz"가 표시되면 GPU 코어가 500MHz에서 실행된다는 점을 제외하고는 그래픽 카드에 병렬 처리를위한 12 코어가 CPU에서 4 코어처럼 작동 할 수 있는지 궁금합니다. ] 대신 2.26GHz [빠른]? Windows 작업 관리자의 CPU 사용량과 비슷한 GPU 사용이 있습니까? 저는 Visual Studio 2012에서 C++ 라이브러리를 사용하려고하는 초심자입니다. 차이가 있다면. 실제 GPU 소프트웨어를 작성할 때 병렬화 코드는 다음과 같습니다 : (http://msdn.microsoft.com/en-us/library/hh265137.aspx).

제 지식에있는 공백이나 실수 중 일부를 채우거나 두 가지를 비교하는 데 도움이 될까요? 정말 복잡한 대답이 필요하지 않습니다. "CPU 코어를 공백 때문에 GPU 코어와 비교할 수 없거나"GPU 코어가 CPU 코어와 같은 코어가 아닌 것 "과 같이 간단합니다. 대단히 감사하겠습니다.

+1

내 질문을 downvote하기 위해 노력한다면, 왜 그것이 나쁜 하나라고 생각하는지 설명하는 문장을 남겨주세요. 이 질문은 오히려 공개되어 있으며 다양한 각도에서 자유롭게 답변 할 수 있습니다. –

+1

또한 노트북과 함께 제공되는 그래픽 카드는 헛소리입니다. 으로 작업 할 수있는 "개별 그래픽 카드"가 아닙니다. 이 질문을 위해, 그것이 프로그램 계산을 위해 잘 작동하는 "합법적 인"카드 인 척하십시오. –

답변

4

우선 OS가 코드에서 요청한 경우에만 OS가 더 많은 코어를 시작합니다. OpenMP 또는 Win32 스레드를 사용하여 i5에서 병렬 처리를 시도하십시오.

두 번째로 CPU 클럭킹은 GPU 클럭킹 이상입니다. GPU의 클로킹이 CPU와 동일하면 요리 용 난로로 사용할 수 있습니다. GPU의 코어는 CPU 이상입니다. 스레드와 코어에는 차이가 있습니다.

셋째, CPU 및 GPU의 사양 및 참조 설명서를 읽는 것이 좋습니다. 또한 PCI-e를 잊지 마십시오. 병렬 프로그래밍 구현의 병목 현상입니다.

희망 사항은 의심을 분명히 나타냅니다. 더 이상의 질문이 있으면 언제든지 물어보십시오.

+0

이 질문에 대한 귀하의 참고 문헌을 좋아했습니다. – Harrisson