다가오는 리눅스 6.16 릴리스에서는 AMDGPU 사용자 모드 큐에 대한 초기 지원이 도입될 예정입니다. 이 기능은 GPU에 직접 작업 부하를 제출할 수 있게 하여 GPU 작업의 효율성을 향상시킵니다. 애플리케이션이 자신의 큐를 직접 관리할 수 있게 되어 오버헤드를 줄이고 성능을 개선하는 데 기여합니다.
구현 과정에서는 작업 패킷을 위한 큐 객체, 읽기 및 쓰기 포인터 객체, 도어벨 페이지, 그리고 섀도우 버퍼 페이지 등 여러 GPU 객체가 생성됩니다. 애플리케이션은 큐를 위한 도어벨 페이지에서 32비트 오프셋을 선택하고, usermode_queue_create IOCTL을 사용하여 이러한 객체의 GPU 주소를 전달합니다. 커널이 하드웨어에서 큐를 생성하고 매핑하면, 애플리케이션은 IOCTL이 반환된 직후 데이터를 제출할 수 있습니다. 이 과정은 애플리케이션이 큐에 추가된 dword 수를 도어벨 오프셋에 기록하여 GPU가 데이터를 가져오도록 유도하는 것으로 마무리됩니다.
이 발전은 GPU 작업 관리를 간소화할 것으로 예상되며, GPU 처리를 많이 의존하는 애플리케이션의 성능 개선으로 이어질 수 있습니다. 사용자 모드 큐의 도입은 AMD의 GPU 기술을 시장의 다른 솔루션과 경쟁력 있게 만들며, 작업 처리의 효율성과 반응성 측면에서 이점을 제공할 가능성이 있습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.