Nếu các bạn không biết GPGPU là gì hay OpenCL, CUDA là như thế nào thì điều đó cũng bình thường thôi bài biết này sẽ giải thích sơ bộ về các thuật ngữ đó và ứng dụng của nó trong phần mềm Blender
GPGPU là gì?
Chúng ta đã biết GPU (graphics processing unit) là đơn vị xử lý đồ họa, hay hiểu đơn giản nó là cái card đồ họa bạn mua để cắm vào thùng máy tính. Thông thường GPU hỗ trợ cho CPU (central processing unit) để tính toán hình ảnh xuất lên màn hình (chơi game mượt hơn). Nhưng nó chỉ hỗ trợ một chiều, nghĩa là CPU xử lý tính toán rồi trả kết quả cho GPU xủ lý hình ảnh xuất ra màn hình, nó không trả lại kết quả cho CPU. Để GPU trả lại kết quả cho CPU, cần có có sự hỗ trợ GPGPU (General Purpose Computing on Graphics Processing Units). Hay nói cách khác GPGPU là thành phần để GPU giao tiếp với CPU.
Nếu để chơi game thì không cần quan tâm GPGPU là gì, CPU tính toán trả kết quả cho GPU tính toán xuất hình ảnh ra màn hình. Nếu bạn có nhiều hơn 1 GPU thì cần có thiết bị gắn thêm để các GPU giao tiếp với nhau. thiết bị đó là SLI của Nvidia hay CrossFireX của AMD.
Nếu để render trên Blender thì cần có GPGPU, CPU tính toán rồi trả kết quả cho GPU tính toán hình ảnh sau đó lại trả kết quả về CPU. Nếu bạn có nhiều hơn 1 GPU thì hệ thống vẫn làm việc mà không cần SLI hay CrossFireX vì lúc này các GPU làm việc độc lập với nhau
OpenCL và CUDA là gì?
Chúng ta đã biết GPGPU giúp cho GPU và CPU giao tiếp với nhau theo 2 chiều. OpenCL và CUDA là một software frameworks để GPGPU làm việc. Nghĩa là để can thiệp vào quá trình tính toán đó thì GPGPU phải thông quan OpenCL/CUDA.
OpenCL là GPGPU framework mã nguồn mở được sử dụng trong các card đồ họa của AMD. CUDA là GPGPU framework độc quyền của Nvidia. Card đồ họa của Nvidia hỗ trợ cả OpenCL và CUDA, trước đây Nvidia hỗ trợ OpenCL không tốt bằng AMD nhưng các thế hệ mới có sự cải thiện rõ rệt
Ứng dụng trong Blender
OpenCL hay CUDA được sử dụng nó còn phụ thuộc vào phần mềm được viết hỗ trợ nền tảng nào. Có những phần mềm chỉ hộ trợ 1 trong 2 trong khi đó có những phần mềm hỗ trợ cả 2 (Tham khảo các phần mềm hỗ trợ ở cuối bài viết).
Ban đầu Cycles trong Blender được viết để sử dụng CUDA cho việc render. Từ phiên bản 2.79, Cycles đã hỗ trợ cả OpenCLGPU279-1.png1500×790 58.5 KB
Bảng so sánh render sử dụng OpenCL của Nvidia và AMD
Kết luận
- Chơi game thì không cần CPU mạnh, nếu có nhiều hơn 1 card thì cần phải nối cầu SLI hoặc CrossFireX
- Render thì không cần SLI hoặc CrossFireX nhưng CPU cũng phải mạnh
- Máy đào bitcoin có render được không? Có render được nhưng sẽ bị tình trạng nghẽn cổ chai nếu CPU không đủ mạnh
- Chọn AMD hay Nvidia? nó phụ thuộc vào phần mềm bạn đang sử dụng. Nếu bạn dùng phần mềm chỉ hỗ trợ OpenCL thì hãy chọn AMD. Nếu phần mềm hỗ trợ cả 2 thì chọn Nvidia. Nếu dùng Blender Cycles để render thì hãy chọn Nvidia. Ngược lại nếu bạn render bằng LuxCoreRender hay Radeon ProRender 6 thì chọn AMD
Sự tương thích của một số phần mềm với OpenCL/CUDA
Adobe After Effects CC
- CUDA Support
3D ray tracing
Multi GPU support - OpenCL Support
No specifics stated
Adobe Photoshop CC
- CUDA Support
30 effects in Mercury Graphics Engine - OpenCL Support
No specifics stated
Adobe Premiere Pro CC
- CUDA Support
Mercury Playback Engine for real-time video editing & accelerated rendering - OpenCL Support
No specifics stated
Adobe SpeedGrade CC
- CUDA Support
Real-time grading and finishing
Autodesk Maya
- CUDA Support
Increased model complexity
Larger scenes - OpenCL Support
Physics simulations
Avid Media Composer
- CUDA Support
Faster video effects
Unique stereo 3D capabilities
Avid Motion Graphics
- CUDA Support
Real-time rendering
Blackmagic DaVinci Resolve
- CUDA Support
Real-time colour correction
Real-time de-noising - OpenCL Support
Real-time colour correction
Final Cut Pro X
- OpenCL Support
Real-time FX editing – no need to render the timeline
Faster overall playback & timeline performance
Faster third-party effect rendering
No transcoding of AVCHD or other complex codecs to editable ProRes
RED REDCINE-X
- CUDA Support
Accelerated debayering
Support for 2 GPUs - OpenCL Support
No specifics stated
Only supports 1 GPU
RED Giant Effects Suite
- CUDA Support
Faster effects
RED Giant Magic Bullet Looks
- CUDA Support
Faster effects
SONY Vegas Pro
- CUDA Support
Faster video effects and encoding - OpenCL Support
No specifics stated
The Foundry HIERO
- CUDA Support
Better interactivity
The Foundry NUKE & NUKEX
- CUDA Support
Faster effects
The Foundry Mari
- CUDA Support
Increased model complexity at interactive rates
Tham khảo: create.pro 3