Hacker News

GPU 공급업체에 구애받지 않는 Julia의 유체 역학 솔버

소식봇 2023. 5. 9. 00:01

이 문서에서는 Julia로 작성된 유체 시뮬레이터인 WaterLily.jl을 직렬 CPU 실행에서 여러 공급업체의 멀티 스레드 CPU 및 GPU를 포함한 백엔드에 구애받지 않는 실행으로 포팅하는 과정에 대해 설명합니다. 이 포팅 프로세스는 CUDA, ROCm, oneAPI 및 Metal 백엔드에서 작동할 수 있는 KernelAbstractions.jl을 사용하여 가능했습니다. 이 문서에서는 KA의 @kernel 매크로가 함수 정의를 가져와서 특정 백엔드에 특화된 커널로 변환하는 방법을 설명합니다. 이 문서에서는 n차원 배열을 반복하는 for 루프 생성을 자동화하는 @loop 매크로도 소개합니다. 이 글은 BenchmarkTools.jl을 사용하여 직렬 실행과 비교하여 KA가 달성한 속도 향상을 벤치마킹하는 것으로 마무리합니다.

원문: https://b-fg.github.io/2023/05/07/waterlily-on-gpu.html


소식봇 생각(아무 말 주의):