ZEAM 개발 로그 v.0.3.5 Elixir 1.7.2에서 GPU 구동 벤치 마크를 실행해 보았습니다.

5572 단어 GPUElixirRust

소개



ZACKY는 야마자키 진입니다. 드디어 채점의 제전이 끝났습니다. 「채점의 제전」이란 무엇인가? 대학 교원들 사이에서 유행하고 있는 키워드로 성적 평가입니다. 대인원이므로 꽤 힘들어요. 저의 근무학교인 기타큐슈시립대학에서는 추석 직전까지 기말시험을 하고 있어, 추석에 성적평가를 제출하겠다는 스케줄이므로 추석방송에서 성적평가하는 것입니다.

「ZEAM 개발 로그 목차」는 이쪽

인터뷰를 받았습니다



forkwell press에서 인터뷰 기사가 게재되었습니다!

"무엇을 이루고 싶은지"를 가능한 한 빨리 찾을 수 있도록 도와주세요. 야마자키 진(기타큐슈 시립대학 부교수)~Forkwell 엔지니어 성분 연구소



Personal Vision Co-Creator에 대한 생각이 짙게 나타나는 기사의 마무리가 되었습니다.

그런데 본제



이번에는 Elixir 1.7.2가 출시되었으므로 즉시 설치하고 GPU 구동 벤치 마크를 실행해 보았습니다. 결론에 따르면 소스 코드를 변경하지 않고 실행할 수 있으며 실행 시간에 큰 차이가 없습니다.

사용한 장비 사양



Mac Pro (Mid 2010)


  • Processor: 2.8 GHz Quad-Core Intel Xeon (프로세서 수 1, 물리적 코어 수 4, 논리 코어 수 8)
  • Memory: 16 GB 1066 MHz DDR3
  • Graphics: ATI Radeon HD 5770 1024MB
  • SSD (BlackMagic)
  • Write 473.9MB/s
  • Read 507.4MB/s


  • 최근에 업그레이드할 예정입니다.

    iMac Pro (2017)


  • Processor: 2.3 GHz Intel Xeon W(프로세서 수 1, 물리적 코어 18, 논리 코어 36)
  • Memory: 32 GB 2666 MHz DDR4
  • Graphics: Radeon Pro Vega 64 16368MB
  • SSD (BlackMagic)
  • Write 2980.3MB/s
  • Read 2465.1MB/s


  • CPU와 GPU는 최고 성능의 구성, 메모리와 SSD는 표준 구성입니다.

    벤치마크 결과



    Elixir 1.7.2의 실행 결과입니다.

    Mac Pro (Mid 2010)


    $ elixir -v
    Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
    
    Elixir 1.7.2 (compiled with Erlang/OTP 21)
    


    stages
    benchmarks1
    benchmarks3
    benchmarks8



    pure Elixir
    pure Elixir
    Elixir/Rustler

    루프
    inlining inside of Flow.map
    loop, passing by list, with Window

    1
    47.653314
    37.392453
    7.726425

    2
    23.946650
    19.162682
    25.177824

    4
    13.690849
    12.417391
    19.870013

    8
    12.361272
    13.123296
    18.489603

    16
    12.178206
    11.210884
    19.965729

    32
    12.540539
    10.591330
    22.487094

    64
    12.470190
    10.878797
    28.189323

    128
    12.262785
    11.103630
    38.555434



    benchmarks_g2
    benchmarks_t1
    benchmarks_empty


    Elixir/Rustler
    Elixir/Rustler
    Elixir/Rustler

    OpenCL(GPU), inlining
    rayon
    Ruslter empty

    2.423294
    1.784261
    1.313502


    iMac Pro (2017)


    $ elixir -v
    Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:36:36] [ds:36:36:10] [async-threads:1] [hipe] [sharing-preserving]
    
    Elixir 1.7.2 (compiled with Erlang/OTP 21)
    


    stages
    benchmarks1
    benchmarks3
    benchmarks8



    pure Elixir
    pure Elixir
    Elixir/Rustler

    루프
    inlining inside of Flow.map
    loop, passing by list, with Window

    1
    22.823357
    17.263715
    4.577052

    2
    11.232475
    8.647210
    13.938190

    4
    5.954148
    5.409378
    10.471390

    8
    3.954989
    4.129163
    9.647276

    16
    4.225692
    4.130425
    10.081226

    32
    4.311388
    3.965232
    11.729024

    64
    4.157024
    3.902033
    15.635729

    128
    4.008359
    4.323282
    23.133601



    benchmarks_g2
    benchmarks_t1
    benchmarks_empty


    Elixir/Rustler
    Elixir/Rustler
    Elixir/Rustler

    OpenCL(GPU), inlining
    rayon
    Ruslter empty

    1.23860
    0.67441
    0.81719


    속도 변화는 오차의 범위내가 아닐까 생각합니다.

    결론



    iMac Pro에서 Elixir를 컴파일하는 것은 매우 빠릅니다!

    Elixir 1.7.2를 사용해 보았지만 소스 코드를 특별히 변경할 필요는 없었습니다. 벤치마크 실행 속도의 차이는 거의 오차의 범주였다.

    다음에 "ZEAM 개발 로그 v.0.3.6 Mac Pro(Mid 2010)를 업그레이드하여 GPU 구동 벤치마크를 실행해 보았다" 를 보내드립니다.

    그래서 ...



    fukuoka.ex #13 여름의 fukuoka.ex 축제=기술의 패러다임 시프트 은 현재 참가자들을 모집하고 있습니다! 저도 "Python을 버리고 Elixir로 마이그레이션하는 날"이라는 제목으로 발표합니다!

    좋은 웹페이지 즐겨찾기