February 13, 2024 Hana Trieu

Redshift sử dụng phần cứng như thế nào?

Để tối ưu hóa hiệu suất của Redshift, điều quan trọng là phải hiểu cách nó sử dụng các thành phần phần cứng khác nhau. Mặc dù GPU đóng vai trò chính vì Redshift chủ yếu render bằng GPU, nhưng một số giai đoạn tiền xử lý nhất định (như trích xuất dữ liệu mesh, tải texture và chuẩn bị dữ liệu cảnh) phụ thuộc vào CPU, ổ đĩa và mạng. Trong bài viết hôm nay, iRender sẽ giúp bạn hiểu cách Redshift sử dụng phần cứng (GPU, CPU, RAM, và bộ nhớ).

Card đồ họa (GPU)

Tại thời điểm của bài viết, Redshift hỗ trợ GPU của NVIDIA trên Windows và Linux. Nó cũng hỗ trợ GPU của AMD trên Windows, macOS BigSur (hoặc mới hơn).

NVIDIA GPU (cho Windows và Linux)

Đối với NVIDIA GPU, bạn nên dùng dòng GeForce bao gồm các card RTX 3060 Ti, RTX 3070, RTX 3080, RTX 3090 và mới nhất là RTX 4090. Trong số các GPU chuyên nghiệp (professional GPUs), bạn có thể tham khảo Quadro RTX 5000, Quadro RTX 6000, hoặc  Quadro RTX A6000. Tuy nhiên, hầu như không có sự khác biệt về hiệu suất giữa GPU GeForce và Quadro trong render Redshift. Quadro thường có thể render các viewport OpenGL nhanh hơn GeForce, nhưng nó không ảnh hưởng đến hiệu suất render cuối của Redshift. Lợi ích chính mà dòng Quadro hơn với dòng GeForce là chúng thường có nhiều bộ nhớ video tích hợp (VRAM) hơn cho render các cảnh lớn và rất phức tạp.

Redshift là phần mềm cho phép sử dụng lẫn các GPU với nhau trên một hệ thống máy tính. Ví dụ, bạn có thể thiết lập GPU cả 2 dòng GeForce và Quadro lại với nhau. 

Sự khác biệt chính giữa GPU dòng GeForce và GPU Titan/Quadro/Tesla là tính khả dụng của trình điều khiển TCC. TCC là viết tắt của “Tesla Comput Cluster” – đây là trình điều khiển Nvidia đặc biệt dành cho Windows bypass kiến trúc driver đồ họa WDDM (Windows Display Driver Model) và cho phép giao tiếp nhanh hơn giữa GPU và CPU. Nhược điểm của TCC là sau khi được bật, GPU sẽ trở nên “vô hình” đối với các ứng dụng Windows và 3D như Maya, Houdini, v.v. và chỉ hoạt động với các ứng dụng CUDA như Redshift. Chỉ GPU dòng Quadro, Tesla và Titan mới hỗ trợ TCC. GPU dòng GeForce GTX không thể sử dụng nó. TCC chỉ hữu ích cho Windows, Linux không cần nó vì driver hiển thị Linux không gặp phải vấn đề về độ trễ giao tiếp của WDDM như trên Windows. Nói cách khác, theo mặc định, giao tiếp CPU-GPU trên Linux nhanh hơn so với Windows (với WDDM) trên tất cả các GPU của NVIDIA bao gồm GPU dòng GeForce và Quadro/Tesla/Titan.

Mặc dù GeForce thiếu hỗ trợ TCC, nhưng bạn vẫn có thể nhận được một số lợi ích về độ trễ của nó trên Windows bằng cách bật “Hardware-accelerated GPU scheduling”. Tính năng này được giới thiệu trong bản cập nhật Windows 10 2020 cùng với driver  NVIDIA tương thích. Để kích hoạt tính năng này, vui lòng tham khảo hướng dẫn tại đây

AMD GPU (cho Widnows, macOS Big Sur trở lên)

Hiện tại, GPU của AMD được hỗ trợ trên Windows và macOS Big Sur trở lên. Xem danh sách các GPU hiện được hỗ trợ từ Maxon tại đây

Sử dụng nhiều GPU cho Redshift

Redshift hỗ trợ render tối đa 8 GPU. Nó sẽ render nhanh hơn khi bạn cài đặt nhiều GPU trên cùng một máy tính. Tuy nhiên, việc sử dụng nhiều GPU có thể yêu cầu cấu hình hệ thống, CPU hoặc bo mạch chủ chuyên dụng.

VRAM

GPU có nhiều mức bộ nhớ video (VRAM) khác nhau, như 8GB, 11GB, 12GB, 16GB, 24GB, hoặc 48GB. Vậy VRAM ảnh hưởng thế nào đến hiệu năng, VRAM bao nhiêu là đủ và bạn nên mua GPU nào cho Redshift? Hãy cùng tìm hiểu sâu hơn về cách Redshift sử dụng VRAM để bạn có thể đưa ra quyết định đúng đắn khi chọn GPU.

Đối với Redshift và các phần mềm render GPU khác, nguyên tắc chung là càng nhiều VRAM thì càng tốt. Tuy nhiên, GPU có VRAM cao hơn sẽ đắt hơn.

Redshift hoạt rất hiệu quả trong việc sử dụng VRAM. Nó có thể chứa khoảng 20-30 triệu hình tam giác trong khoảng 1GB VRAM. Một cảnh có 300 triệu hình tam giác thường cần khoảng 10GB VRAM. Tuy nhiên, các GPU có 8GB VRAM vẫn có thể render những cảnh high-poly như vậy nhờ kỹ thuật “out-of-core” của Redshift, kỹ thuật này giúp xử lý vượt cảnh khi vượt quá giới hạn VRAM. Tuy nhiên, việc truy cập dữ liệu “out of core” quá mức có thể tác động tiêu cực đến hiệu suất. Vậy nên, tốt hơn hết là bạn nên có nhiều VRAM sẵn có để render các cảnh phức tạp (high-poly).

Kỹ thuật render “out-of-core” của Redshift không hoạt động với tất cả các loại dữ liệu. Hiện tại, nó không thể lưu trữ các lưới volume như OpenVDB. Nếu cảnh của bạn sử dụng hàng trăm megabyte OpenVDB, bạn chắc chắn cần GPU có nhiều VRAM hơn, nếu không, bạn sẽ không thể render cảnh đó. 

Có nhiều VRAM hơn cũng cho phép chạy nhiều ứng dụng GPU cùng lúc. Các ứng dụng như Maya OpenGL, trình duyệt và bản thân Windows có thể sử dụng lượng VRAM đáng kể, chỉ để lại rất ít cho Redshift. Nếu bạn có GPU nhiều VRAM, đây không phải là vấn đề. Ngoài ra, bạn có thể mua thêm một GPU rẻ hơn chỉ dành cho các ứng dụng khác, như vậy toàn bộ VRAM trên (các) GPU còn lại sẽ chỉ để render Redshift.

Dung lượng VRAM thường là yếu tố quyết định cho việc chọn GPU 24 GB đắt tiền hay GPU 11, 12 GB rẻ hơn. Lưu ý là VRAM của một hệ thống nhiều GPU không thể kết hợp lại với nhau. Ví dụ: khi bạn thiết lập một GPU 12GB và một GPU 24GB trên máy tính, thì tổng bộ nhớ VRAM sẽ không phải là 36GB. Mỗi GPU sử dụng lượng VRAM riêng của nó, trừ khi chúng được kết nối với nhau bằng NVLink. 

Tóm lại: 

    • Nếu bạn cần nhiều VRAM, GPU của NVIDIA dòng Titan/Quadro/Tesla hoặc GPU Radeon Pro của AMD là những lựa chọn tốt. Nếu bạn không cần nhiều VRAM, nhiều GPU dòng tiêu dùng rẻ hơn có thể cung cấp sức mạnh xử lý hơn với cùng mức chi phí so với các dòng chuyên nghiệp.
    • Nếu bạn không định sử dụng GPU bổ sung để render OpenGL/2D hoặc bạn muốn render nặng (nhiều cảnh (~150 triệu) hoặc cảnh nặng nhiều OpenVDB hoặc các thành phần particle), bạn nên chọn GPU có nhiều VRAM.

Bộ xử lý trung tâm (CPU)

Redshift chủ yếu dựa vào hiệu suất GPU để render, nhưng một số bước nhất định cũng phụ thuộc vào hiệu suất CPU, ổ đĩa và mạng. Đó là các bước trích xuất dữ liệu lưới từ các ứng dụng 3D, tải texture từ ổ cứng và chuẩn bị dữ liệu scene cho GPU. Đối với những cảnh phức tạp, các bước này có thể mất nhiều thời gian, do đó, CPU cấp thấp hơn có thể làm chậm hoặc “làm tắc nghẽn” hiệu suất render tổng thể.

Redshift hoạt động tốt hơn với các CPU có hiệu năng đơn luồng mạnh. CPU có ít nhân nhưng tốc độ GHz cao hơn sẽ tốt hơn CPU có nhiều nhân và tốc độ GHz thấp. Ví dụ: CPU 6 nhân chạy ở tốc độ 3,5 GHz sẽ hoạt động tốt hơn CPU 8 nhân ở tốc độ 2,5 GHz. Maxon khuyến nghị người dùng sử dụng CPU có tốc độ xung nhịp từ 3,5 GHz trở lên.

Ngoài ra, không phải CPU nào cũng có thể chạy 4 GPU ở tốc độ PCIe x16 cao nhất. CPU có “PCIe lanes” xác định tốc độ truyền dữ liệu giữa CPU và GPU. Một số CPU có ít làn hơn các CPU khác, điều này làm giảm tốc độ và hỗ trợ số GPU tối đa. Ví dụ:  trong 2 CPU (Core i7-5820K 3.3GHz 28 làn và Core i7-5930K 3.5GHz 40 làn), Core i7-5930K có thể chạy nhiều GPU hơn và ở tốc độ cao hơn. Nếu bạn có ý định cài đặt nhiều GPU cho hệ thống render của mình, bạn nên dùng CPU có nhiều làn PCIe hơn. Không nên sử dụng các CPU cấp thấp hơn như Core i5, Core i3 trở xuống.

Với nhiều CPU trong một bo mạch chủ (ví dụ: Xeons), các làn PCIe kết hợp cho phép hệ thống Xeon kép dễ dàng cung cấp năng lượng cho 8 GPU ở tốc độ tối đa.

Tóm lại, đối với CPU, Redshift ưu tiên tốc độ GHz hơn số lượng nhân. Đối với hệ thống nhiều GPU, bạn nên xem xét CPU Core i7 hoặc các CPU AMD cao cấp. Nếu bạn muốn thiết lập hệ thống nhiều GPU (trên 4 GPU), bạn có thể tham khảo CPU dual-Xeon. Và tránh dùng Core i5, i3 và CPU cấp thấp hơn.

Bộ nhớ hệ thống (RAM)

Lượng bộ nhớ hệ thống (RAM) bạn nên có phải gấp đôi lượng VRAM lớn nhất trong số các GPU bạn đã cài đặt vào hệ thống. 

Ví dụ: nếu bạn sử dụng một hoặc nhiều GPU Titan X có 12GB VRAM thì hệ thống phải có ít nhất 24GB RAM.

Nếu bạn render nhiều frame cùng lúc thì lượng RAM cần được nhân lên tương ứng. Ví dụ: nếu render một frame cần 16 GB RAM, thì render 2 frame cùng một lúc sẽ cần khoảng 32 GB RAM.

Để tối ưu, bạn nên có nhiều RAM hệ thống.

Ổ cứng và dung lượng

Bạn nên sử dụng ổ cứng thể rắn (SSD) nhanh cho Redshift. Redshift tự động chuyển đổi các texture dạng JPG, EXR, PNG và TIFF sang định dạng texture riêng. Định dạng này nhanh hơn để tải và sử dụng trong quá trình render. Các texture được lưu trữ trong một thư mục cục bộ. Do đó, việc sử dụng ổ SSD cho thư mục cache texture sẽ đảm bảo các tệp texture đã chuyển đổi có thể được mở nhanh chóng trong quá trình render. 

Ngoài ra, Redshift có thể mở texture trực tiếp từ vị trí ban đầu của chúng (ngay cả khi đó là thư mục mạng) mà không cần lưu vào bộ đệm. Nhưng vì liên quan đến tốc độ,  chúng tôi không khuyến nghị phương pháp này.

Redshift tăng tốc render trên nhiều GPU như thế nào?

Redshift là một trình render hỗ trợ nhiều GPU nổi tiếng. Hầu như tất cả người dùng đều muốn tăng tốc độ render với nhiều GPU và nghĩ rằng với số lượng (x) GPU, Redshift sẽ render nhanh hơn (x) lần. Tuy nhiên, Redshift không tăng tốc độ hoàn hảo trên nhiều GPU như vậy. Render với 4 GPU không nhất thiết mang lại kết quả nhanh hơn 4 lần so với  render trên một GPU.

Khi render với nhiều GPU trong Redshift, có hai tùy chọn bạn có thể dùng:

    • Render một frame bằng cách sử dụng tất cả các GPU của hệ thống cùng nhau
    • Render nhiều frame cùng một lúc bằng cách sử dụng kết hợp GPU

Trong một số trường hợp, việc render một frame duy nhấy với tất cả GPU của hệ thống có thể không mang lại hiệu suất tăng tốc hoàn hảo. Ví dụ: 4 GPU có thể không render nhanh hơn chính xác 4 lần so với render bằng 1 GPU. Nó có thể nhanh hơn khoảng 3 lần. Lý do đằng sau điều này là có một lượng xử lý CPU nhất định trên mỗi frame liên quan mà không thể tăng tốc bằng cách thêm các GPU bổ sung.

Để minh họa rõ hơn điều này, hãy xem xét ví dụ sau.

Giả sử, việc trích xuất dữ liệu cảnh từ Maya mất 10s trên CPU và redner với 1 GPU mất 60s. Tổng thời gian render là 70s.

Với 4 GPU, thời gian render thuần túy 60s sẽ được chia cho 4, mất 15s. Nhưng 10s việc trích xuất dữ liệu vẫn chỉ do 1 CPU đảm nhận nên nó vẫn giữ nguyên. Tổng thời gian sẽ là 10 + 15 =25s, nhanh hơn 3 lần so với 70s ban đầu, không nhanh hơn 4 lần như mong đợi.

Hướng giải quyết vấn đề trên là render nhiều frame cùng một lúc. Nếu máy tính của bạn có 4 GPU, hãy render 2 frame cùng lúc, mỗi frame sử dụng 2 GPU. Điều này buộc CPU hoạt động song song bằng cách trích xuất nhiều frame cùng một lúc, và nó thường giúp cải thiện tỷ lệ hiệu suất CPU-GPU.

Có một số trình quản lý render hỗ trợ sẵn tính năng Redshift, chẳng hạn như Thinkbox Deadline. Deadline hỗ trợ render nhiều frame trên các cụm GPU bằng tính năng “GPU affinity”. Ngoài ra, nếu bạn không sử dụng trình quản lý render và muốn sử dụng tập lệnh redner hàng loạt (batch render) riêng, bạn có thể render từ ​​command line và sử dụng một cụm GPU.

Tóm lại, để tối đa hóa khả năng tăng tốc render từ nhiều GPU, Redshift hoạt động tốt nhất khi render song song nhiều frame trên các GPU.

Tóm lại, chúng ta thấy rằng Redshift dựa vào GPU để render nhưng cũng sử dụng CPU, RAM và phần cứng khác cho các bước tiền xử lý. Trong khi các GPU giữ vai trò chính, việc đảm bảo CPU, RAM và các hệ thống khác của bạn đáp ứng các thông số kỹ thuật của Redshift chính là chìa khóa để giúp quy trình tiền xử lý trơn tru hơn. Sau khi hiểu cách Redshift sử dụng phần cứng trong bài viết, chúng tôi hy vọng bạn có thể đưa ra những lựa chọn sáng suốt hơn khi lựa chọ cấu hình nhằm giảm thiểu các bước tắc nghẽn và tăng năng suất render Redshift.

iRender - Render Farm nhanh nhất cho render Redshift

iRender có cấu hình máy tính mãnh mẽ nhất cho render

Chúng tôi cung cấp dịch vụ cho thuê server (máy tính từ xa), với cấu hình linh hoạt 1/2/4/6/8x RTX 4090 và RTX 3090. Với CPU khỏe là AMD Ryzen™ Threadripper™ PRO 3955WX @ 3.9 – 4.2GHzAMD Ryzen™ Threadripper™ PRO 5975WX @ 3,6 – 4,5 GHz, bộ nhớ RAM 256GB và dung lượng ổ cứng NVMe SSD 2T, server của chúng tôi có thể xử lý hầu hết mọi mức độ phức tạp của các dự án 3D.

iRender cung cấp cho bạn quy trình làm việc tự do

Bạn sẽ có toàn quyền sử dụng máy thuê theo nhu cầu, để cài đặt Redshift, plugin và/hoặc bất kỳ phần mềm phiên bản nào trên máy của chúng tôi. Môi trường làm việc trên máy được bảo mật riêng theo tài khoản người dùng. 

iRender có máy cài sẵn C4D và Redshift

đối tác của Maxon, chúng tôi cung cấp các máy cài sẵn C4D và Redshift. Hiện chúng tôi cung cấp free license C4D và Redshift giúp đơn giản hóa quy trình làm việc của người dùng.

Dưới đây là video hướng dẫn quy trình làm việc sử dụng C4D và Redshift thông qua desktop app (iRender GPU) của chúng tôi: 

Nhận ưu đãi 100% cho khoản nạp đầu tiên trong vòng 24 giờ đăng ký từ chương trình ưu đãi đặc biệt tháng 2 của chúng tôi.

Để biết thêm thông tin, xin vui lòng liên hệ với chúng tôi qua email [email protected] hoặc số điện thoại +84915875500

 

iRender – Happy Rendering!

Nguồn tham khảo: maxon.net
, , , , , , , , , , , , , , , , , , , , , , , , , , ,

Hana Trieu

iRender - Happy Rendering!
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Maxwell
Nvidia Iray
Lumion
KeyShot
UE4
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
9:00 AM – 8:00 PM
Hotline: 0916 806 116
Zalo: 0916 806 116
Skype: iRender Support
Email: [email protected]
CÔNG TY CỔ PHẦN CÔNG NGHỆ IRENDER VIỆT NAM
MST: 0108787752
Office: 5/82 Dịch Vọng Hậu, Cầu Giấy, Hà Nội.

Contact
0916806116