M1 Macbook 환경에서 PyTorch Profiler 테스트

sshinohs·2023년 2월 22일
0
post-thumbnail
  • PyTorch는 M1 Macbook의 GPU를 "mps"라는 이름으로 구동 가능

  • 예제를 돌렸을 때, MPS가 약 10배 빠름

  • M1 CPU로 돌렸을 때

  • M1 MPS로 돌렸을 때

  • 총 소요 시간이 100ms / ~ 18ms 로 차이가 난다.

  • 제일 처음 계산되는 conv2d를 보면, cpu로 돌린 경우는

    • aten::conv2d
    • aten::convolution
    • aten::_convolution
    • aten::thnn_conv2d
    • aten::_slow_conv2d_forward
  • mps로 돌린 경우는

    • aten::conv2d
    • aten::convolution
    • aten::_convolution
    • aten::_mps_convolution
  • CPU로 돌렸을 때는 convolution 연산이 소요시간의 많은 부분을 차지함

  • MPS로 돌렸을 때는 batch_norm, relu 등이 소요시간의 많은 부분을 차지함

    • batch_norm은 mps용 함수가 아니라, aten::native_batch_norm으로, cpu와 동일한 이름을 가짐.
    • 그래도 cpu 보다는 mps가 소요시간이 적게 걸림( ~ 4.3ms vs ~ 0.8ms)
  • 아직 profiler의 interface에 익숙해지지 않는 것 같다.

  • cpu vs mps 시간 소요 많은 요소들 비교

    • cpu

    • mps

profile
sshinohs

0개의 댓글