2015-02-04 2 views
1

에 비해 하나가 하나의 커널을 실행 블록의 많은 양의 오프로드해야 있도록, 많은 GPU를 같이 활용 될 예정 인텔 제온 피 같은 코 프로세서 있도록 단지 전체 스루풋 보조 프로세서의 처리 속도가 빨라지므로 또는 독립 스레드 (작업)를 오프 로딩하면 효율성이 향상됩니까?코 프로세서 가속기는 GPU를

+1

는 일반적으로, 모두 병렬 처리의 상당한 정도를 요구 (I/O 병목 항상의 PCIe를 기억) 기존의 (비 오프로드) 노드로 인텔 MIC 치료, 네이티브 코드를 작성하고 MPI를 사용할 수 있습니다 . 보다 의미있는 질문이 있으면 귀하의 질문은 매우 광범위합니다. –

+0

이러한 사용 모델이 상호 배타적임을 제안하는 것은 잘못되었습니다. Intel Xeon Phi는 이들을 모두 지원합니다. 보다 자세한 답변을 원하시면보다 정확한 질문을하십시오. – Jeff

답변

2

제온 파이는 기능적 병렬 처리 (다른 스레드)와 벡터 병렬 처리 (SIMD)를 모두 필요로합니다. 코어는 기본적으로 향상된 펜티엄 프로세서이므로 직렬 코드는 느리게 실행됩니다. 차세대 코어는 더 빠르고 최신 코어를 사용하기 때문에 다소 변경 될 것입니다. 현재 Xeon Phi는 PCIe 버스를 통해 통신해야하는 코 프로세서와 마찬가지로 I/O 병목 현상도 있습니다.

커널을 모든 프로세서에 오프로드하고 GPGPU와 유사한 512 비트 벡터화를 활용할 수 있지만 코드를 다른 여러 기능 블록 (즉, 다른 코드/커널)으로 분리하여 실행할 수도 있습니다 Intel Xeon Phi 코어 세트가 다릅니다. 다시 말하지만, 코드 블록이 다르면 512 비트 SIMD 벡터도 활용해야합니다.

Xeon Phi는 또한 네이티브 프로세서로 작동하므로 NFS 디렉토리 트리를 설치하고 TCP/IP를 사용하여 클러스터의 카드와 다른 프로세서간에 통신하거나 MPI를 사용하여 다른 리소스에 액세스 할 수 있습니다. '오프로드'하지만 네이티브 실행. 그러나 PCIe 버스는 여전히 I/O를 제한하는 중요한 병목입니다.

요약하면,

  • 할 수 있습니다 우리 GPGPUs에 의해 사용되는 것과 유사한 오프로드 모델,
  • 제온 피도 기능 병렬 처리를 지원할 수있는 자체 (하나 이상의 커널)하지만, 각각의 커널은 또한 이용해야한다 512 비트 SIMD
  • 또한
+0

감사합니다. OpenMP/OpenACC를 사용하여 작업 부하를 줄이는 데 주로 관심이 있습니다. * threadblocks *가 코어에 어떻게 할당되어 있는지 알 수 있습니까? 블록은 CUDA 프로그래밍 모델과 비슷하게 (무작위로) 계획되어 있습니까? 또는 항상 사용할 수있는 모든 코어에 스레드를 배포하는 단 하나의 스레드 블록이 있습니까? –

+1

OpenMP에서 인텔은 스레드를 할당 할 위치와 방법을 지정할 수있는 환경 변수를 제공합니다. KMP_PLACE_THREADS를 사용하면 사용하려는 코어 수와 코어 당 원하는 스레드 수를 지정할 수 있습니다. KMP_AFFINITY를 사용하면 스레드를 할당하는 방법을 지정할 수 있습니다. 압축 된 선호도는 스레드를 순서대로 지정합니다. 스 캐터 선호도는 라운드 로빈 방식으로 코어에 스레드를 배치하려고 시도합니다. 그건 그렇고, 이러한 변수는 다른 인텔 프로세서에서도 잘 작동합니다. – froth

+0

@froth 어디에서 더 자세한 정보를 찾을 수 있습니까? (예 : Intel Xeon Phi 용 프로그래밍 환경 모델) –

관련 문제