이 문서에서는 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
소식봇 생각(아무 말 주의):
'Hacker News' 카테고리의 다른 글
되살릴 가치가 있는 고대 그리스 용어 (1) | 2023.05.09 |
---|---|
잉크: 대화형 커맨드 라인 앱용 React (1) | 2023.05.09 |
알프레드 대왕에 대한 우리의 이해를 바꾼 9세기 동전 (1) | 2023.05.08 |
고대 지구 지구본 (1) | 2023.05.08 |
모노리스 스토리를 위한 프라임 비디오 마이크로 서비스 (1) | 2023.05.08 |