동시 프로그래밍에 관한 책이 항상 데이터 평행을 무시하는 이유는 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/1854054

문제

지난 몇 년 동안 OpenCL 및 Cuda와 같은 시스템을 통해 데이터-평행 프로그래밍으로 크게 전환했지만 지난 6 개월 안에도 출판 된 책은 데이터-평행 프로그램 주제에 대해서는 언급조차하지 않았습니다.

모든 문제에 적합하지는 않지만 여기에는 해결되지 않은 큰 차이가있는 것 같습니다.

도움이 되었습니까?

해결책

우선, 동시 프로그래밍이 반드시 병렬 프로그래밍과 동의어는 아닙니다. 동시 프로그래밍은 느슨하게 커플 링 된 작업에서 응용 프로그램을 구성하는 것입니다. 예를 들어 대화 창은 별도의 작업으로 구현 된 각 컨트롤과 상호 작용할 수 있습니다. 반면에 병렬 프로그래밍은 단일 실행 하드웨어 이상에 걸쳐 일부 계산 작업의 솔루션을 전파하는 것에 대해 명시 적으로 명시 적으로 어떤 종류의 성능의 이유를 위해 (참고 : 너무 작은 RAM조차 대안이 대체 할 때 성능적인 이유입니다. 교환 중입니다.

그래서, 나는 대가로 물어봐야합니다. 당신은 어떤 책을 언급하고 있습니까? 그들은 동시 프로그래밍에 관한 것인가 (나는 이것들 중 몇 가지가 있고, 흥미로운 이론이 많이 있습니다) 또는 병렬 프로그래밍에 관한 것입니까?

그들이 실제로 병렬 프로그래밍에 관한 것이라면 몇 가지 관찰을 할 것입니다.

  • Cuda는 빠르게 움직이는 목표이며 출시 이후입니다. 오늘 그것에 대해 쓰여진 책은 그것이 인쇄 할 때까지 반 관찰이 될 것입니다.
  • OpenCL의 표준은 1 년 전에 출시되었습니다. 지난 8 개월 정도 안정적인 구현이 나왔습니다. 수정하고 출판 된 것은 물론 아직 책을 쓰기에 충분한 시간이 없었습니다.
  • OpenMP는 내가 사용한 병렬 프로그래밍 교과서 중 적어도 몇 개로 덮여 있습니다. 최대 버전 2 (V3가 방금 출시 됨), 본질적으로 데이터 병렬 프로그래밍에 관한 모든 것이 었습니다.

다른 팁

오늘날 학문적으로 병렬 컴퓨팅 작업을하는 사람들은 일반적으로 클러스터 컴퓨팅 필드에서 나오고 있다고 생각합니다. OpenCL 및 CUDA는 그래픽 프로세서를 사용합니다.이 프로세서는 더욱 고급 그래픽 렌더링 알고리즘의 개발과 함께 범용 프로세서로 다소 발전한 그래픽 프로세서를 사용합니다.

그러나 그래픽 사람들과 고성능 컴퓨팅 사람들은 현재 한동안 서로를 "발견"해 왔으며, 범용 컴퓨팅을 위해 GPU를 사용하는 데 많은 도움이되고 있습니다.

"항상"는 약간 강합니다. 자원이 있습니다 (예시) 데이터 평행 주제가 포함됩니다.

Hillis의 고전적인 책 "The Connection Machine"은 모두 데이터 병렬 처리였습니다. 제가 가장 좋아하는 것 중 하나입니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top