오늘 학회 갔다가 학회지 뒷면에 재미있는 광고가 있길래 좀 찾아봤더니 제온 파이라는 놈에 대해서 설명하는 세션이 있더군요.
나온지는 조금 된 모양입니다만...
인터페이스는 PCI-E슬롯이고 co프로세서 라고 표현을 하던데 코어가 61개(클럭은 코어당 1GHz정도)이고 GDDR5를 탑재하였다길래 엔비디아의 CUDA와 비슷할 것이라고 생각했습니다.
어떤 의미로는 맞는 것 같기도 합니다만... 개념적으로는 뭔가 다른 것 같습니다. 그리고 아마도 엔비디아의 쿠다와 경쟁 상대가 될 것 같기도 합니다만...
특징은 별도의 운영체제가 탑재되어있고 별도의 가상 컴퓨터처럼 동작한다는 점입니다.
즉 일반 제온 서버에 제온 파이를 탑재한 후 리눅스로 부팅을 한 후 제온 파이의 리눅스 시스템에 접속을 하여 사용하는 방식입니다.
마치 하나의 서버에 계산용 노드를 연결해둔 것과 비슷한 시스템입니다.
단 그 계산용 노드가 랜이나 인피니트밴드 같은 인터페이스가 아니라 PCI-E 인터페이스로 내장되어있다는 점이 차이입니다.
아마도 기존의 cpu 위주의 컴퓨팅과 엔비디아의 CUDA를 사용하는 경우와 비교해볼 수 있을 것입니다.
CUDA와 비교하였을 때 장점으로는 일단 intel에서 나온 물건이다보니 인텔 c,c++ 컴파일러(icc)나 인텔 포트란 컴파일러를 사용할 경우 코드를 거의 바꿀 필요가 없다는 점입니다.
만약 제온 CPU를 이용한 병렬 컴퓨팅에 적합하게 최적화된 코드가 있다면(openmp 기준) 제온파이에서는 별도의 최적화가 필요 없다는 것 같습니다.
처음 병렬 컴퓨팅을 시도했을 때 MPICH라는 놈을 건드리다가 고생했던 기억이 나는군요.
openmp는 단 한줄의 입력만으로 병렬 컴퓨팅을 사용할 수 있다는 장점이 있었죠...
이점은 CUDA에 비해 상당히 끌립니다.
다만 가격은 상당히 비쌉니다. 검색해보니 PEI-E카드 하나에 2650달러쯤 한다는군요... 한국가 400만원쯤 이라는데...
CUDA와 비교한 성능은 못들었습니다.
정확히 기억나지는 않지만
제온파이 코프로세서 5110P 기준으로 제온 2CPU 16코어(하이퍼스레딩까지 하면 32 코어, E5-2600시리즈) 시스템에 비하여 병렬화가 잘 되는 경우 이론적으로 2.7배 정도의 성능이 높다고 합니다만...
실제로는 2~2.5배정도인 모양입니다.
다만 몽테 카를로 시뮬레이션 같은 경우는 별로의 최적화가 있는지 7배정도의 성능 향상이 있었습니다만...
또한 제온이 64비트임에 비해 제온 파이는 512 비트 시스템 입니다.
오늘 발표를 듣다보니 벡터화를 꼭 해야하는것 같던데 사실 그게 뭔지 오늘 처음 들었습니다.
ICC로 컴파일 할 때 벡터화되었다는 메시지가 뜨는걸 보긴 했지만...
제온 파이는 제온 E5에 탑제되도록 나온 것 같고 최소 1개부터 최대 8개까지 탑재할 수 있는 것 같지만 보통은 한대당 1~2개를 탑재하도록 구성한다고 합니다.
아직은 제온파이의 내장 메모리(GDDR5)는 6GB~8GB 정도로 메모리 위주의 작업을 하기에는 좀 부족한 편이지만 (별도의 시스템이라서 제온 보드의 메모리와 공유가 안됩니다.)
프로그램을 잘 작성하면 큰 무리 없이 사용할 수 있을 것 같습니다.
정보를 더 찾아보고 싶긴 한데 너무 피곤해서 안되겠네요. 아마도 다른분이 잘 찾아서 정리해주시겠죠?...
참고로 경품으로 인텔 SSD 2개 하고 충전지?.. 같은것하고(뭔지 제대로 못들었습니다...) 우산 뿌렸는데 저는 우산 받았습니다.
아.. 내일 비가 오면 좋은 경품일지도 모르겠네요. 근데 비 안오는게 좋을거같아요.
저도 잘은 모르지만, 인텔은 꾸준히 코프로세서를 개발해왔던 걸로 알고있어요. 참조링크
엔비디아도 CUDA를 이용해서 꾸준히 서버계열에 문을 두드리고 있었지만,
역시나 소프트웨어적인 지원은 인텔을 넘어설수 없죠.
인텔이 바보라서 GPU를 그따위로 만드는게 아니라는 거죠..
한편, AMD는...
그런게 있군요 비싸서 회사에서나 쓸 수 있겠네요.
요즘 벡터 연산 공부하는 데 원조가 수퍼컴퓨터 더군요.
벡터 연산의 특성상 클라우드로 빌려 쓰는 시대가 도래할 지도 모르겠습니다.