반응형
Vultr
- 전에도 이야기 했지만, 난 Vultr을 사용하고 있다.
- 관련링크 : https://blog.ggaman.com/1019
VPC Instance에서 CPU는 어떤것을 사용할까?
- Vultr는 4가지 Type의 Instance를 지원해 준다. (
Cloud Compute
,High Frequency
,Bare Metal
,Dedicated Cloud
)
- 당연히
High Frequency
는Cloud Compute
보다는 빠르겠지... 하지만 얼마나 빠른지, 혹은Cloud Compute
에서 충분한 속도가 난다면 굳이 더 비싼 제품을 고를 필요가 있을까? - 그래서 각 제품의
/proc/cpuinfo
정보를 확인해 보았다.
Cloud Compute
- 한국 리전에서 만들수 있어서,
1vCPU
,1GByte RAM
으로 만들어서 확인했다. - CPU는
Cascadelake
를 사용하고 있으며, 속도는3GHz
, 캐시는16MByte
이다. - flags 쪽에 보면,
avx512
를 지원하는것을 알 수 있다.
High Frequency
- 한국 리전에서 만들수 있어서,
1vCPU
,1GByte RAM
으로 만들어서 확인했다. - CPU는
Skylake, IBRS
를 사용하고 있으며, 속도는3.7Ghz
, 캐시는16Mbyte
이다. - flag 쪽을 봐도
avx2
까지만 지원하지,avx512
를 지원하지 않는다.
Bare Metal
Bare Metal
은 현재 몇군데의 리전에서만 지원하는데, 그것도 다Sold out
상태라서 체크하지 못함
Dedicated Cloud
Dedicated Cloud
는 아시아에 일본 밖에 없어서 일본에 있는 것으로 확인했다.2vCPU
,8GByte RAM
으로 만들어서 확인했다.- CPU는
Haswell, no TSX, IBRS
를 사용하고 있으며, 속도는3.6Ghz
, 캐시는16MByte
이다. - flag 쪽을 봐도
avx2
까지만 지원하지,avx512
를 지원하지 않는다.
정리
- 일반적인 상황이라면
Cloud Compute
를 사용하면 될 듯 하다. 우선Cloud Compute
를 사용해 봐라. - 더 빠른 속도가 필요하다면
High Frequncey
를 사용하면 된다. Dedicated Cloud
는 걍 쓰지 않아도 될 듯 하다.
참고 - AVX가 뭔데?
- CPU 비교를 할 때, 속도나 캐시 같은것만 보면 되지 왜 자꾸 AVX 관련 이야기를 할까?
AVX(Advanced Vector Extensions)
는 Intel에서 계산을 빨리 하도록 만들어둔, x86 확장 명령어 집합이다.Intel
에서 만든확장 명령어 집합
이니깐,AMD
에는 지원하지 않는 명령어다.AVX
가 있으면 뭐가 좋냐면, 이름 그대로 Vector 연산을 빠르게 할 수 있도록 도움을 준다.AVX2
는256bit 단위로 빠르게 연산할 수 있고,AVX512
는 512bit 단위로 빠르게 연산할 수 있다.- 아래 그림을 보면 이해가 빠를 것이다. 사진 아래에 있는 링크를 클릭해서 동영상을 보는것을 추천한다.
- 관련링크 1 Youtube : http://youtu.be/PcIFbx5bqYc?t=29
- 관련링크 2 Intel : https://www.intel.co.kr/content/www/kr/ko/architecture-and-technology/avx-512-animation.html#t=30s
그럼 인공지능에는 어떤게 좋을까?
AVX
는 Vector 연산에 효율적이라고 하니, 무언가 계산이 많은 인공지능에서도 도움이 될 듯 하다.- 그럼 인공지능 엔진을 돌릴때
AVX
를 사용하면 좀 더 빠르지 않을까?
Tensorflow에서 Intel AVX 사용하기
- 몇년전 Anaconda에서 Intel의
MKL(Math Kernel Library)
를 지원하겠다면서, 직접 이런저런 라이브러리를 설치해서 쓰지 말고, Anaconda를 이용하라고 광고? 를 했던 적이 있다. - 관련링크 1 : https://www.anaconda.com/blog/anaconda-distribution-5-3-0-released
- 관련링크 2 : https://docs.anaconda.com/mkl-optimizations/index.html
- Intel에서 Docker Image는 제공해 주기도 한다.
- 관련링크 : https://software.intel.com/content/www/us/en/develop/articles/intel-optimization-for-tensorflow-installation-guide.html
- 더 이상 알아 보는건 Vultr 속도 측정이랑 큰 상관이 없으므로, 여기서 멈춤. ㅎ.
또 참고
- 네이버클라우드에서도 AVX512를 지원하는 CPU를 사용한다고 광고 ( 물론, Intel이랑 협약을 맺었으니 광고하는거겠지? ㅎ )
- 관련링크 : https://www.ncloud.com/intel
- AVX 속도 관련해서 테스트하신 분에 따르면 Tensorflow Serving시 AVX512가 지원되도록 Custom Build 한 후 동작시켜 보았더니, 10~20% 정도의 성능 향상이 있었다고 한다.
- 관련링크 : https://jeongukjae.github.io/posts/tensorflow-serving-custom-build/
반응형