Ice Lake로 지연 추적

https://qiita.com/shinjiogaki/items/607500269fe6b109dbac
를 따라갔다.
7차 레이저 훈련 캠프에서는 빛의 속도를 겨루는 이벤트가 있었지만, 참가할 때는 AVX2를 사용하고 AVX512를 쓰면 어떻게 되는지 실제 CPU는 검증되지 않았다.
시뮬레이터는 아래에 있지만 실행에 시간이 걸리기 때문에 대규모 소프트웨어 개발에 적합하지 않다.
https://software.intel.com/en-us/articles/intel-software-development-emulator
며칠 전에는 아이스레이크(i7-1065G7)를 받아 코드를 개편하는 간단한 테스트를 진행했다.결과적으로 고속이다.
이번 테스트는 항간에 알려진 바와 같이 AVX512를 사용하면 시계가 떨어지고 오히려 느려지는 현상이 나타나지 않았다.물론 오랜 계산 끝에 시계는 서서히 떨어지지만 AVX2도 마찬가지다.
이번에 사용한 장면은 Hairball로 Object Splitting을 잘 못하는 BVH다.

8ary BVH
16ary BVH
처음
6.81
7.95
두번째
6.77
7.84
세번째
6.83
7.92
단위는 Mrays/sec가 1초당 계산하는 화환의 수(백만지)다.
처음에는 단순히 8분목에서 16분목으로 바뀌면 조금 늦지만, AVX512에서는 commpress를 진행하는 편의명령https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=compress이 추가돼 호두원숭이 코드를 사용해 속도가 높아졌다.또 예상대로 메모리 소비가 다소 줄었다.
고속화를 위해 더 많은 삼각형을 잎에 채워 나무를 얕게 만드는 데 큰 기여를 했다.일반적으로 잎에 넣은 삼각형의 수를 조정하면 좀 더 고속화할 수 있다고 생각하지만, 확인할 수 있었으면 좋겠다.

좋은 웹페이지 즐겨찾기