Quadro vs GeForce, điều gì khiến Quadro thực sự khác biệt

 16:52, 10/07/2021

 

Nhưng theo các trang chính thức của các render engine như Octane, Fstorm ... GPU mà họ khuyến cáo nên dùng lại là Geforce và các kết quả benchmark cho thấy 2 GPU có chung 1 tầm giá, Geforce chạy nhanh hơn. What?

Nhưng các kết quả khác lại cho thấy một số phần mềm như của Catia, Solidworks, Siemens NX ... lại chạy vượt trội hoàn toàn trên các dòng Quadro. What?

Ko chấp nhận thực tại bị mù màu, mình lượn lờ 1 số trang nước ngoài, tìm hiểu 1 hồi thì ra được đống kiến thức này. Bác nào thấy chỗ nào không đúng thì comment cho kiến thức thêm hoàn chỉnh.

Vậy các phần mềm trên khác nhau điểm gì mà tạo nên hiện tượng củ chuối đó?

Đầu tiên phải phân biệt được các phần mềm CAD và các phần mềm DCC.

  • CAD là viết tắt của Computer Aided Design, những phần mềm này làm việc với đường cong, đưa đến cho người dùng độ chính xác cao trong thiết kế. Các phần mềm này thường được dùng cho thiết kế kết cấu các công trình lớn, thiết kế máy bay, ô tô, tàu vũ trụ...
  • DCC là viết tắt của Digital Content Creation, các phần mềm này làm việc với các đa giác (hình tam giác, chữ nhật ...), không phải là các đường cong, độ chính xác không cao, nhưng hình ảnh xuất ra đủ thuyết phục người xem rằng nó là thật.


CAD hướng đến sự chính xác cho khoa học, còn DCC hướng đến trải nghiệm nội dung cho người xem.

Vậy điều đó liên quan gì tới tốc độ giữa Quadro và GeForce nhỉ?

Mình sẽ so sánh 2 con card: GeForce RTX 2080 Ti vs Quadro RTX 6000

Mức giá hai con này cách nhau một trời một vực, nhưng thực tế chúng được làm trên cùng 1 công nghệ, chung 1 kiến trúc TU102.
Điểm khác biệt về phần cứng là con Quadro có nhiều hơn về mọi thứ, nhiều hơn 1 tí CUDA Core, nhiều hơn 1 ít Tensor core, RT Core ... đại khái là mỗi thứ nhiều hơn 1 tí (tầm 7-10% gì đó). Riêng VRAM thì nhiều hơn gấp 2 lần.
Lưu ý Quadro nhiều hơn không phải nhiều hơn theo kiểu giữa 2080Ti và 2070 đâu nhé, nhiều hơn chỉ 1 xíu xiu thôi. 2070 làm trên TU104, 2060 làm trên TU106 nhé.
Tất cả những thứ có trong Quadro, dòng Geforce đều có. Hoàn toàn không có chuyện Quadro có thêm 1 bộ vi xử lý thần kì nào đó giúp nó nhanh hơn Geforce.
Đại khái 2 con này gần như giống nhau, đó là lý do bạn dùng 1 con Quadro này sẽ same same nếu so với con 2080 Ti khi render với Octance hay Fstorm, hoặc khi chơi game chẳng hạn (Ông nào bảo Quadro ko chơi game đc táng vỡ mồm ngay, chỉ là cái giá bỏ ra quá đắt thôi).

Lý do nó đắt như vậy không phải vì phần cứng mạnh hơn, mà do nó đc certify bởi NVIDIA, cũng như các hãng phần mềm khác và các ORM như HP, Dell, Lenovo ....
Nghĩa là, bạn sẽ đc hỗ trợ tốt hơn về mọi thứ, driver ổn định hơn, ... nói chung là các lợi ích cho doanh nghiệp, k phải cho các bạn.

Ơ, vậy chả nhẽ chỉ đc mấy bố certify rồi support các thứ là giá lên nóc nhà được ah, chỉ vậy thôi sao?
Tất nhiên là không rồi, nếu chỉ có vậy thì sao Siemens NX lại chạy nhanh hơn trên Quadro được.

Thế là lại tìm hiểu tại sao NX chạy nhanh trên Quadro, cuối cùng thì đọc được 1 câu xanh rờn: "Bọn phần mềm đó viết code tối ưu cho Quadro nên nó nhanh hơn". Mình chắc một số bạn cũng đã nghe thấy câu này chán luôn rồi và méo hiểu nó tối ưu kiểu j mà thần thánh vậy.

Nếu Quadro và Geforce không khác nhau về phần cứng thì phần mềm optimize kiểu gì mà nhanh hơn cả mấy chục lần như vậy? Chắc chắn phải có j đó khác chứ nhỉ, hoang đường vl. Rõ ràng điểm khác biệt giữa CAD và DCC chỉ là đường cong và độ chính xác thôi nhỉ?

Và sau nửa ngày đào bới google, cuối cùng câu trả lời là: "NVIDIA đã cố tình không tối ưu cho GeForce, ép người dùng phải trả một cái giá cao gấp nhiều lần cho Quadro, và thực tế cũng có cách để unlock GeForce để có thể một vài tính năng như Quadro".

Đại khái, tất cả các thứ đều nằm trong thằng Driver và Firmware hết.

Đến đây thì mọi thứ trở nên rắc rối hơn nhiều, nếu bạn ko muốn biết thì chỉ có 1 câu:
NVIDIA muốn bạn trả thêm 1 đống tiền chỉ để họ bật một số "công tắc" khiến nó chạy nhanh hơn.

Còn đây là chi tiết:
1,
 single-fixed rendering pipeline:
Ngày xửa ngày xưa, khi các dev làm game, muốn render một thứ gì đó thì mình truyền vào các thông số, các tùy chọn, các hình ảnh, đại khái là các thứ dùng để xây dựng nên một khung hình. GPU sẽ làm tất cả các việc nặng nhọc còn lại, cuối cùng nó trả về cho bạn một tấm hình để hiển thị. Các bạn có thể tưởng tượng như vậy.
Nhưng GPU làm kiểu gì nhỉ?
Trong GPU thời đó sẽ có những "cái máy" render. Bạn đưa cho máy dữ liệu và cái máy sẽ cho bạn hình ảnh kết quả render.
Dần dần, các dev muốn làm cho hình ảnh trong game trở nên thật hơn, nhưng những "cái máy" trong GPU thì không thay đổi được, thành ra rất khó để có thể cải thiện hình ảnh đầu ra.
Cuối cùng, vào năm 2001, chúng ta đã có một thế hệ GPU mới có thể lập trình được, chính là series GeForce 3.
Chúng ta có thể truyền luôn cả "cái máy" vào trong GPU để nó xử lý hình ảnh.
Điều đó đem đến một sự mềm dẻo tuyệt vời, cho phép các dev viết những thuật toán mới, cho ra những game có đồ họa đỉnh cao cho các bạn đang chơi.

Tuy nhiên sự mềm dẻo cũng đem đến sự chậm chạp, có lẽ chỉ là một chút khi nạp "cái máy" vào GPU, nhưng ai mà biết được nó chậm bao nhiêu nhỉ?
Nhưng dù sao thì một số phần mềm CAD vẫn đang dùng thằng này, một số bài test cho thấy, việc dùng thằng này giúp cải thiện tốc độ lên đến 13-14 lần. (vãi nồi. Nhưng đây là con số k phải của mình nhé, đừng hỏi mình nó có đáng tin hay ko, xem source ở dưới phần ref)
Vậy tại sao GeForce k dùng cái cũ đi cho rồi, dùng cái mới chi cho chậm?
Không được fen ơi, làm vậy thì ai mua Quadro nữa.
Đúng là như vậy, và driver của Quadro đã tối ưu cho các ứng dụng CAD bằng cách đó, còn GeForce thì không.
Thậm chí đã có những vụ "Hack" vào driver của GeForce để "Unlock" tính năng đó, nhưng kèm theo là bạn sẽ phải can thiệp một chút vào vài mối hàn cũng như mất luôn bảo hành.

2, TCC Mode:
Trên một GPU của NVIDIA, chúng ta có tối đa 2 chế độ: WDDM và TCC.
GeForce: Chỉ có WDDM
Quadro: default là WDDM và có cả TCC

Vậy TCC là gì?
TCC là viết tắt của Tesla Compute Cluster. Ở chế độ này, GPU không quan tâm tới việc hiển thị trên màn hình mà chỉ quan tâm tới việc tính toán. Bởi vậy, bạn cần một GPU khác cho việc hiển thị lên màn hình.
Chế độ "Bình thường" là WDDM, hỗ trợ cả việc hiển thị hình ảnh, còn khi cần nó sẽ chuyển sang chế độ TCC.
Ở chế độ này, theo NVIDIA, sẽ hỗ trợ cho các ứng dụng dùng các core CUDA để chạy các ứng dụng mô phỏng, tính toán phức tạp, khoa học ... vân vân và mây mây
Đại khái nó là 1 chế độ giúp dồn tài nguyên cho ứng dụng, giúp nó chạy nhanh hơn.
Vậy chính xác cái TCC này là gì, phần cứng hay phần mềm?
Tất nhiên nó là phần mềm rồi, lại một cái "công tắc" nữa bị NVIDIA tắt đi. Khốn nạn vl.

3, Vậy doubled-precision có phải là một công tắc khác?
Cho những bạn không biết nó là cái gì. Cơ bản là thằng Quadro dùng bộ nhớ 64 bit để lưu trữ các con số dùng cho tính toán, so với 32 bit của GeForce. Việc này giúp cho độ chính xác của các tính toán cao hơn nhiều, do các con số được lưu trữ có nhiều số thập phân ở phía sau hơn.
Về cơ bản, muốn xử lý một con số 64 bit trên một bộ xử lý 32 bit, ta chỉ cần chia con số đó làm 2 phần 32bit rồi tính là xong, vậy theo lý thuyết thì tất cả các card đồ họa đều xử lý đc các con số 64 bit chứ nhỉ?
Hơn vậy nữa, Quadro và GeForce có chung một phần cứng, vậy không lý nào GeForce lại không làm được cả.
Vâng, như bạn đoán, lại một "công tắc" khác.
Thực tế là các card Titan, Titan Black và Titan Z đều có, nhưng đến con Titan XP thì ..... bị tắt đi.

Ngoài ba cái trên ra thì còn một nùi tính năng khác chỉ có trên Quadro, nhưng mình nghĩ ba thằng trên là quan trọng nhất.

Ok, xong, đó là về con chip, vậy dung lượng VRAM thì sao, nó có đáng để mua Quadro không?
Câu chuyện trở nên đáng chú ý khi NVIDIA ra 2 con Geforce: RTX 3080 và RTX 3090.

Các bạn đều biết hai con này không khác nhau nhiều về bộ xử lý, khác biệt lớn nhất là VRAM, và chỉ bằng việc tăng thêm VRAM cho 3090 (24Gb vs 10Gb), Nvidia đã tăng giá nó lên gấp đôi.
Thực sự 12Gb VRAM và 1 xíu core trên 3090 có giá bằng cả 1 con 3080?

Chắc chắn là không, nhưng tại sao lại đắt vậy?

Đơn giản là một số công việc cần nhiều VRAM nên họ không có lựa chọn nào khác ngoài việc mua GPU có đủ VRAM họ cần, thế thôi.

Một số công việc đó là: Render hình ảnh, dự báo thời tiết, machine learning ... đại khái là những công việc cần load rất nhiều dữ liệu lên GPU.

Ví dụ như việc render 1 file 3d yêu cầu 7GB, thời gian hoàn thành của 3080 và 3090 là same same nhau. Nhưng nếu render 1 file 3d yêu cầu 14GB, 3080 phải dùng đến VRAM của hệ thống, hệ quả là khoảng 10 lần chậm hơn so với 3090.

Bởi vậy, nếu công việc của bạn cần nhiều VRAM, thì sự lựa chọn không còn là Geforce hay Quadro nữa, mà là card nào có đủ số VRAM bạn cần.

Và nên nhớ Quadro RTX 8000 có tới 48Gb VRAM, và mình đoán những người cần tới nhiêu đó VRAM để làm việc thường không quan tâm nhiều đến vài ngàn đô rách làm gì. :LOL:
Túm váy lại, giờ có mua Quadro không?
Có chứ, nếu ứng dụng bạn dùng cần nó hoặc bạn quan tâm tới ECC, hoặc đơn giản là bạn cần thật nhiều VRAM.
Bạn phải tìm hiểu kỹ xem ứng dụng bạn dùng là CAD hay là DCC. Nếu là CAD thì phải research một lần nữa xem các thông số benchmark như thế nào. Tại một số phần mềm CAD không có tối ưu cho Quadro đâu.
Dù NVIDIA có khốn nạn cỡ nào, chúng ta vẫn phải sống chung với nó thôi.
Có nên khuyên bạn bè làm kiến trúc mua Quadro không?
Khả năng là không, vợ mình làm kiến trúc nhưng chỉ là render các thứ thôi, trừ những công trình lớn, cần làm kết cấu các thứ cho thật chính xác thì mới dùng tới các phần mềm bên CAD thôi, thiết kế nhà dân sinh ko dùng tới đâu.
Nếu bạn mình chuyên làm kỹ xảo phim, làm machine learning thì sao?
Well, hai thằng này thì chắc chắn bạn chỉ quan tâm tới 1 thứ: VRAM. Bạn phải đảm bảo số lượng VRAM của GPU là đủ dùng, nếu không coi như tạch.
Vậy bao nhiêu VRAM là đủ? Cái đó tuỳ việc mỗi người.
Bên xây dựng thì sao?
Mình thấy mấy og xây dựng phần lớn làm việc với bên CAD, nên mình nghĩ là cần đó.
Sinh viên kiến trúc + xây dựng thì sao?
Mình nghĩ là rất nên nếu bạn có đủ điều kiện mua 1 con quadro giá rẻ dùng cho mục đích nghiên cứu, bớt chơi game lại và có được một ít kinh nghiệm thực tế khi sử dụng các phần mềm CAD chuyên dụng cho giả lập các thứ.
Danh Sách các phần mềm tối ưu cho Quadro

  • Siemen NX
  • Solidworks
  • Catia
  • Cimatron
  • MasterCAM

Danh Sách các phần mềm không tối ưu cho Quadro

  • Autodesk 3ds Max
  • Autodesk Maya
  • Sketchup
  • PTC Creo
  • Autodesk AutoCAD
  • Blender
  • AMD Radeon ProRender
  • Redshift
  • Lumion
  • Chaos Group V-Ray
  • Octane renderer
  • FStorm renderer
  • Vectorworks
  • Adobe Premiere Pro
  • MAGIX Vegas Pro 16
  • DaVinci Resolve
  • Adobe After Effect
  • Adobe Photoshop (và các phần mềm chỉnh sửa ảnh nói chung, card nào không quan trọng)

Danh sách các phần mềm cần nhiều thông tin hơn để xác định:

Lưu ý: các phần mềm không có trong danh sách không có nghĩa là không được/ được tối ưu nhé. Thiếu thằng nào thì mọi ng comment nhé.

TIN CÙNG CHUYÊN MỤC

 - Địa chỉ: Số 155C, đường Nguyễn Công Trứ, khóm 8, phường 8, Thành Phố Cà Mau, Tỉnh Cà Mau
 - Điện thoại: 0835 151 444 - 0969 829 444
- Địa chỉ email: baovinhcomputer@yahoo.com
DỊCH VỤ & HỖ TRỢ
Chính sách giao hàng
Chính sách đổi trả sản phẩm
Chính sách bảo hành