AMD는 아니지만, Metal은 정말 훌륭한 디버거와 개발 도구 세트를 제공함
그래서 나는 GPU 작업을 할 때 항상 Metal을 먼저 사용하고, 이후 다른 시스템으로 포팅하는 방식을 선호함 Metal Debugger 문서를 참고하면 좋음
AAA 게임 개발자는 아니지만, 내 용도에서는 완벽에 가까웠음
특히 셰이더에서 포맷된 로그 문자열을 출력하면 앱 로그와 함께 섞여 표시되는 기능이 놀라움
Metal과 OpenGL을 모두 사용하는 GPU 기반 앱을 개발 중인데, OpenGL 쪽에서는 Metal 수준의 툴을 찾기 어려웠음
나는 OpenGL 그래픽 코드를 PS5와 Xbox로 포팅하면서 셰이더를 처음 접했음
두 플랫폼 모두 전용 디버거를 제공하는데, 그 품질이 꽤 좋았음
결국 검은 화면만 보일 때는 툴링이 전부임을 깨달았음
혹시 OpenGL 대신 DirectX를 사용하면 Windows에서 더 나은 툴링을 얻을 수 있는지 궁금함
Metal 디버거는 정말 잘 만들어졌지만, 자주 프리징되거나 Xcode가 강제 종료되는 문제가 있음
특히 compute shader를 다룰 때는 프로파일링이 잘 안 되는 경우가 많음
그래픽 중심으로 설계된 툴이라, AI나 대용량 버퍼 작업에는 아직 한계가 있는 듯함
Xcode의 Metal 디버거는 훌륭하고, Metal API 자체도 직관적임
OpenGL보다 훨씬 잘 맞았음
OpenGL 쪽에서는 RenderDoc을 써봤는지? Vulkan/OpenGL용으로는 그게 가장 비슷한 툴임
GPU 학습용으로 Mac을 사라는 의견에는 동의하기 어려움
비싼 컴퓨터를 사서 Metal 전용 API를 디버깅하는 건 비효율적임
진지하게 그래픽 프로그래밍을 배우려면 Windows나 Linux에서 DX12나 Vulkan을 배우는 게 낫다고 생각함
RenderDoc 같은 툴을 쓰면 충분히 가능함
Metal은 좋은 API지만, Apple 플랫폼 밖에서는 쓸 수 없다는 점이 가장 큰 한계임
Metal이 멋지긴 하지만, 벤더 종속성(vendor lock-in) 이 문제라고 생각함
서버나 게임 환경에서는 대부분 AMD나 Nvidia GPU를 사용하므로, Metal 중심 개발은 실용적이지 않음
NVIDIA의 CUDA에는 cuda-gdb라는 1st-party GDB가 있음 공식 문서를 보면 알 수 있듯, CUDA의 스레드 모델과 잘 맞음
다만 워프 단위로만 단일 스텝 실행이 가능함
NVIDIA 카드에서는 NSight를 사용할 수 있고, 다양한 GPU에서 작동하는 RenderDoc도 있음
RenderDoc은 고수준 디버거에 가깝고, 성능 분석에도 유용함
QML이나 QSG_VISUALIZE=overdraw 같은 고수준 시각화가 부족할 때 API 호출 단위로 장면을 추적하는 게 흥미로움
nsys와 nvtx도 훌륭한 도구임
GPU 없이도 사용할 수 있다는 점을 모르는 사람이 많음
AMD GPU용으로 직접 만든 모니터링 툴을 공유함 picomon이라는 프로젝트인데, nvtop이 너무 엄격해서 자주 크래시 나는 문제를 해결하려고 만들었음
Metal, CUDA, Pix, PS/Switch 등 각 플랫폼마다 전용 툴이 존재함
이런 이유로 연구자들이 여전히 CUDA를 선호하는 경향이 있음 Nsight Systems도 그중 하나임
7900 XTX GPU를 로컬 추론(inference) 이나 diffusion에 사용하는 사람 있는지 궁금함
Linux를 설치했는데 대부분 놀고 있어서 활용하고 싶음
Gentoo에서 몇 년째 사용 중임
예전엔 Python 관련 문제가 있었지만 최근엔 안정화되어 img2video까지 가능함
24GB VRAM 기준으로는 여전히 가장 가성비 좋은 카드라고 생각함
ROCm이 최근 UX 개선을 위해 대대적으로 개편되었으니 TheRock을 확인해보길 추천함
Windows에서 7900XT로 ollama를 통해 LLM을 로컬 호스팅해봤는데 잘 작동했음
devstral:24b 모델도 꽤 빠르게 돌았음
출시 초기에 구입했을 때는 ROCm 관련 커널 OOM 오류가 있었음
ComfyUI에서는 대부분 잘 작동했지만, 특이한 작업에서는 불안정했음
최근에는 안정화되었다고 들음
6800XT로도 비슷한 작업을 해봤는데, CUDA 중심 생태계라 약간 까다롭지만 가능했음
이미지 및 텍스트 생성 모델을 테스트했는데, 기본 torch 라이브러리를 AMD의 ROCm 버전으로 교체하니 문제없이 작동했음
Hacker News 의견
AMD는 아니지만, Metal은 정말 훌륭한 디버거와 개발 도구 세트를 제공함
그래서 나는 GPU 작업을 할 때 항상 Metal을 먼저 사용하고, 이후 다른 시스템으로 포팅하는 방식을 선호함
Metal Debugger 문서를 참고하면 좋음
AAA 게임 개발자는 아니지만, 내 용도에서는 완벽에 가까웠음
특히 셰이더에서 포맷된 로그 문자열을 출력하면 앱 로그와 함께 섞여 표시되는 기능이 놀라움
Metal과 OpenGL을 모두 사용하는 GPU 기반 앱을 개발 중인데, OpenGL 쪽에서는 Metal 수준의 툴을 찾기 어려웠음
두 플랫폼 모두 전용 디버거를 제공하는데, 그 품질이 꽤 좋았음
결국 검은 화면만 보일 때는 툴링이 전부임을 깨달았음
혹시 OpenGL 대신 DirectX를 사용하면 Windows에서 더 나은 툴링을 얻을 수 있는지 궁금함
특히 compute shader를 다룰 때는 프로파일링이 잘 안 되는 경우가 많음
그래픽 중심으로 설계된 툴이라, AI나 대용량 버퍼 작업에는 아직 한계가 있는 듯함
OpenGL보다 훨씬 잘 맞았음
OpenGL 쪽에서는 RenderDoc을 써봤는지? Vulkan/OpenGL용으로는 그게 가장 비슷한 툴임
비싼 컴퓨터를 사서 Metal 전용 API를 디버깅하는 건 비효율적임
진지하게 그래픽 프로그래밍을 배우려면 Windows나 Linux에서 DX12나 Vulkan을 배우는 게 낫다고 생각함
RenderDoc 같은 툴을 쓰면 충분히 가능함
Metal은 좋은 API지만, Apple 플랫폼 밖에서는 쓸 수 없다는 점이 가장 큰 한계임
서버나 게임 환경에서는 대부분 AMD나 Nvidia GPU를 사용하므로, Metal 중심 개발은 실용적이지 않음
NVIDIA의 CUDA에는 cuda-gdb라는 1st-party GDB가 있음
공식 문서를 보면 알 수 있듯, CUDA의 스레드 모델과 잘 맞음
다만 워프 단위로만 단일 스텝 실행이 가능함
NVIDIA 카드에서는 NSight를 사용할 수 있고, 다양한 GPU에서 작동하는 RenderDoc도 있음
QML이나 QSG_VISUALIZE=overdraw 같은 고수준 시각화가 부족할 때 API 호출 단위로 장면을 추적하는 게 흥미로움
GPU 없이도 사용할 수 있다는 점을 모르는 사람이 많음
AMD용 공식 툴이 있냐는 질문에, GDB가 AMD GPU 디버깅을 지원함
또한 AMD의 UMR과
Radeon GPU Detective,
Radeon Developer Tool Suite 같은 도구도 있음
AMD GPU용으로 직접 만든 모니터링 툴을 공유함
picomon이라는 프로젝트인데, nvtop이 너무 엄격해서 자주 크래시 나는 문제를 해결하려고 만들었음
Metal, CUDA, Pix, PS/Switch 등 각 플랫폼마다 전용 툴이 존재함
이런 이유로 연구자들이 여전히 CUDA를 선호하는 경향이 있음
Nsight Systems도 그중 하나임
7900 XTX GPU를 로컬 추론(inference) 이나 diffusion에 사용하는 사람 있는지 궁금함
Linux를 설치했는데 대부분 놀고 있어서 활용하고 싶음
예전엔 Python 관련 문제가 있었지만 최근엔 안정화되어 img2video까지 가능함
24GB VRAM 기준으로는 여전히 가장 가성비 좋은 카드라고 생각함
ROCm이 최근 UX 개선을 위해 대대적으로 개편되었으니 TheRock을 확인해보길 추천함
devstral:24b 모델도 꽤 빠르게 돌았음
ComfyUI에서는 대부분 잘 작동했지만, 특이한 작업에서는 불안정했음
최근에는 안정화되었다고 들음