2016-07-06 2 views
3

줄리아에서 GPU 컴퓨팅을 실험하기 위해 GPU 카드를 구입할 것을 고려 중입니다. 지금 보니 기본적으로 두 가지 옵션이 있습니다 : NVIDIA 또는 AMD 칩셋.Julia의 GPU 컴퓨팅 옵션

제 질문은 : Julia와 함께 사용하는 것이 좋습니다 옵션이 있습니까? GPU 컴퓨팅을 처음 접했을 때 필자는 성능보다는 사용의 용이성에 초점을 두었 기 때문에 GPU 인터페이스 역할을하는 현재의 Julia 패키지가 기본적으로 대답을 결정한다고 상상할 수 있습니다.

저는 Windows 7 기반 시스템을 사용합니다. 어떤 도움을 주셔서 감사합니다.

답변

9

몇 가지 포인트 :

1) ArrayFire는 줄리아 인터페이스 (https://github.com/JuliaGPU/ArrayFire.jl)와 GPU 플랫폼을 사용하기 매우 쉽습니다. NVIDIA 및 AMD GPU 모두에서 작동합니다.

2) ArrayFire를 능가하는 것들을 원한다면 일반적으로 NVIDIA의 독점적 인 CUDA C 언어를 통해 NVIDIA 카드를 더 많이 지원합니다. Julia here에 대한 모든 GPU 패키지 목록을 볼 수 있습니다. 보시다시피, NVIDIA 또는 AMD에서 작동하는 커널을 작성하는 데 사용되는 C 버전 인 OpenCL보다 CUDA가 더 많이 사용됩니다. 그러나이 경로를 따라 간다면 C로 자신 만의 커널을 작성해야 할 것입니다.

제 생각에는 CUDA C는 코어 사이에서 작업을 분배하는 특정 측면을 자동으로 처리 할 수있는 편리한 자동화 기능을 가지고 있습니다 효율적인 방법으로. CUDA C는 과학 컴퓨팅 분야에서 널리 보급 된 것으로 보입니다.

하지만 오픈 CL에서는 할 수없는 부분이 많지 않을 것이라고 생각합니다. 그렇게하는 방법을 배우는 것이 너무 어렵지 않을 것입니다. 또한 OpenCL은 GPU (예 : 인텔의 제온 피 (Xeon Phi) 프로그래밍)를 능가하는 다양한 고성능 플랫폼에 적용 할 수있는 이점이 있습니다.

3) 부동 소수점 연산을 위해 단일 또는 이중 정밀도로 작업해야하는지 여부에주의를 기울여야합니다. 이것은 제조사로부터 GPU를 선택할 때 큰 차이를 만듭니다. 예를 들어 NVIDIA는 배율 연산 (주로 Tesla 라인뿐만 아니라 Titan Black)을 수행하도록 특별히 설계된 GPU를 가지고 있습니다. 이 이외의 NVIDIA GPU를 선택하면 배정도 성능이 1/3로 향상됩니다. AMD 칩은 조금 덜 특화된 경향이 있으며, 단 정밀도와 배정도 사이에서 더 유사하게 수행됩니다. 나는 NVIDIA 카드가 더 나은 가치가 될 수있는 유스 케이스가 있고 AMD가 비용 효과가 더 좋은 곳이 있다고 추정한다.

4) GPU는 꽤 비싸게 들릴 수 있습니다 (이베이 등에서 사용 가능한 꽤 좋은 옵션이 있지만). 그들의 기쁨은 CPU보다 훨씬 빠른 시간에 계산을 할 수 있다는 것입니다. 그러나 이러한 이점을 얻기 위해 수천 달러를 최소로 지출해야합니다 (특히 강력한 GPU를 지원하기 위해 새로운 시스템을 구입해야하는 경우 많은 기본 소비자 용 컴퓨터가 잘). 가능한 한 정확히 무엇이 필요한지 파악하기 위해 먼저 시험 작업을 수행하는 것이 실제로 이점이 될 것입니다. 예를 들어 NVIDIA에는 here에 적용 할 수있는 테스트 프로그램이 있습니다. 나는 결코 그것을 사용하지 않았기 때문에 나는 많은 것을 말할 수 없다. AMD는 아마 비슷한 것을 가지고있을 것이다. 또는 GPU를 사용할 수있는 회사 또는 연구 기관에 소속되어 있거나 컴퓨터에 ssh를 설치하고 사용해 볼 수있는 친구가있는 경우 사전에 필요한 것을 알아내는 데 매우 도움이 될 수 있습니다. 시각.

5) 다른 카드를 볼 때, 원하는 정확도 수준으로 전달하는 달러당 몇 개의 플러시뿐만 아니라 얼마나 많은 GPU 램이 필요한지주의 깊은 관심을 갖고 싶을 것입니다. 잠재적으로 여러 GPU 간 및 GPU와 CPU 간의 통신을 얼마나 효율적으로 지원하는지에 대한 문제가 있습니다. 내가 아는 한, 이러한 GPU-GPU 및 CPU-CPU 계산의 황금 표준은 새로운 NVIDIA P100 카드입니다. 그건 슈퍼, 비싸지 만 지금은 NVIDIA에서 구입 한 $ 100k + 시스템 (그 중 8 개가 있습니다)의 일부로 만 사용할 수 있습니다. 올해 말, P100은 다른 제조업체에서 구입할 수 있어야합니다. 그들은 CPU와 GPU 사이의 전송 속도면에서 놀라운 일을 할 수 있지만 그 댓가를 치를만한 값 비싼 대가를 치러야 만하고, 찾고있는 것이 달러당 가장 큰 가격 일 경우 가격을 정당화 할 수 없습니다.

+0

정교한 답변을 보내 주셔서 감사합니다. 너는 내 인상을 어느 정도 확인했다. 나는 NVIDIA가 제공하는 더 나은 지원 때문에 저렴한 가격으로 갈 것이라고 생각합니다. – InkPen

+0

@InkPen 그래, 특히 단 정밀도 만 원한다면 NVIDIA는 훌륭한 성능을 제공하는 새롭고 값싼 물건 (GTX 1080)을 가지고 있습니다. 그것은 물건에 단 정밀도가 필요한 사람들을 질투하게 만듭니다! –