GN⁺: OpenGL 호환되는 첫번째 M1 GPU 드라이버
(rosenzweig.io)- M1 및 M2 계열 GPU를 위한 첫 OpenGL® ES 3.1 호환 드라이버 출시, 모든 OpenGL ES 3.1 애플리케이션과 호환 가능
- 이 드라이버는 M1 및 M2 계열 그래픽 하드웨어를 위한 세계 유일의 OpenGL ES 3.1 호환 구현체로, 정확성을 입증하기 위해 수만 개의 테스트를 통과
- 호환성을 얻기 위해 "구현체"는 모든 기능을 검증하는 공식적인 호환성 테스트 스위트를 통과해야 하며, 테스트 결과는 표준 기구인 Khronos에 제출
- 제조사의 M1 드라이버는 어떤 표준 그래픽 API에도 호환되지 않아, 표준을 사용하는 애플리케이션이 M1/M2에서 작동할 것이라는 보장이 없음 (리눅스를 실행하지 않는 경우)
- 개발자들은 리눅스 드라이버의 품질과 신뢰성을 보장하기 위해 표준 호환성을 추구하였으며, "이식성"에 대한 어떤 타협도 없이 명세에 따라 개방형 표준을 구현함으로써 생태계에 본보기를 제시하려고 함
- OpenGL ES 3.1은 실험적인 OpenGL ES 3.0 및 OpenGL 3.1을 업데이트하며, 일반 계산을 가속화하는 데 일반적으로 사용되는 컴퓨트 쉐이더를 추가
- ES 3.1은 애플리케이션에서 이미지에 쓸 수 있게 해주며, 이는 일반적으로 유연한 이미지 처리 알고리즘을 가능하게 하는 컴퓨트 쉐이더에서 발생
- M1은 이미지 원자 명령어를 지원하지 않아, 개발자들은 메모리 내 픽셀의 주소를 계산하고 그 주소에 일반 원자를 수행해야 했음
- 개발자들은 잘 알려진 "비트 조작" 알고리즘을 사용하여 비트를 교차시켜 성능을 향상시켰음
- 개발자들은 또한 비트를 교차시키는 전용 명령어를 발견하여, 이를 통해 그들의 영리한 벡터화 어셈블리를 한 가지 명령어로 대체할 수 있었음
- 개발자들은 오픈 드라이버를 지원하는 Khronos와 Software in the Public Interest에 감사의 말을 전함
Hacker News 의견
- 첫 번째 M1 GPU 드라이버에 대한 논의, OpenGL, Vulkan 등의 플랫폼 지원이 Apple의 nVidia, Adobe, Autodesk, Microsoft 등과의 OpenUSD 렌더링/애니메이션/CAD/3D-씬 포맷 파트너십으로 인해 개선될 것인지에 대한 추측.
- Apple이 기존의 OpenGL 및 Vulkan 같은 표준을 준수할 것인지, 아니면 개발자들이 그들의 Metal 표준을 더 지원하도록 밀어붙일 것인지에 대한 논쟁.
- Asahi와 Alyssa가 역공학 분야에서 뛰어난 업적을 인정받음, Apple이 그들을 고용하려 할 수도 있다는 추측.
- M1 GPU 드라이버는 주로 게임에 유용하며 딥러닝에는 그다지 도움되지 않음, Mac M1의 가장 매력적인 측면은 상당한 메모리 향상.
- 이것은 M-시리즈에 대한 첫 번째 준수하는 OpenGL ES 3.1 드라이버로, Apple 및 Non-Apple을 포함한 모든 운영 체제에 대한 것이며, 팀에게 기부를 촉구하는 행동 호소로 이어짐.
- Rosenzweig의 M 시리즈 그래픽 드라이버에 대한 성과가 강조되며, 그들이 어떻게 독점 컴파일러를 해킹하여 자신들의 지시를 출력했는지에 대한 의문.
- OpenGL 준수는 간단한 재컴파일이 일부 그래픽 애플리케이션을 Apple Silicon에서 Linux 하에서 고성능으로 사용할 수 있게 만들 것이라는 희망을 제공함.
- 일부 댓글은 Apple이 표준이나 준수에 대해 관심이 없으며, 사용자를 그들의 생태계 내에 유지하려는 선호도를 비판함.
- 원래의 게시물은 'Apple'을 언급하지 않고 '제조업체'와 '대기업'을 언급함, 이에 대한 추측의 원인.
- 이 드라이버들의 개발은 라이브 스트리밍되었으며, 수행된 작업은 매우 칭찬받음.
- 두 사람의 성과가 최소한의 자금으로 대기업을 이긴 것을 축하하는 동시에, 일부는 Apple이 원래 경쟁에 참여하지 않았다고 주장함.