Hotline: 0236.3689.300
Chat tư vấn ngay messenger zalo livechat
Bạn cần gì có thể chát với chúng tôi
Máy bộ Mega Màn hình máy tính Máy Tính Xách Tay Linh kiện Máy Tính Gaming Gear & Console Tản Nhiệt TB lưu trữ ,nghe nhìn Máy tính bộ - Máy chủ Phụ Kiện Thiết bị mạng Thiết bị văn phòng Camera - Phần mềm Đồng Hồ- Đồ công nghệ Apple Store

Giỏ hàng của bạn
0 sản phẩm

Bán hàng trực tuyến
HỖ TRỢ KHÁCH HÀNG TOÀN QUỐC
Linh kiện máy tính - PC lắp ráp
  • Zalo Mr.Duy: 0788 896 096
  • Zalo Ms.Trâm: 0374 729 140
  • Zalo Ms.Mai: 0776 662 434
  • Zalo Ms.Hiếu: 0367 780 359
  • Zalo Mr.Tùng: 0868 023 003
  • Zalo Mr.Nghĩa: 0905 180 860
Laptop - Máy in - Camera
  • Zalo Mr.Tiến: 0905 568 434
  • Zalo Mr.Toàn: 0398 743 729
  • Zalo Ms.Nga: 0905 910 094
Dealer - Tư vấn GameNet
  • Zalo Ms.Sương: 0918 348 455
  • Zalo Ms.Thảo: 0942 011 640
  • Zalo Ms.Tính: 0935 494 993
  • Zalo Mr.Nghĩa: 0935 484 873
  • Zalo Ms.Thúy: 0942 011 628
Doanh Nghiệp - Dự Án
  • Zalo Mr.Việt: 0935 555 654
Phòng kỹ thuật
  • Zalo SĐT: 0935 484 863
Hỗ trợ bảo hành
  • Zalo Mr.Sơn: 0905 717 140
  • Zalo SĐT: 0942 011 627
Hướng Dẫn Trả Góp Khuyến mãi

Nvidia Ampere vs AMD RDNA 2 - Cuộc chiến của các kiến trúc

07-12-2020, 4:33 pm   504

Nvidia Ampere vs AMD RDNA 2 - Battle of the Architectures

Đối với những người dùng công nghệ đam mê GPU, đã phải chờ đợi rất lâu. Nvidia giữ dòng Turing hoạt động trong hai năm trước khi thay thế nó bằng Ampere vào tháng 9 năm 2020. AMD thì lại khoảng cách 15 tháng giữa các phiên bản mới của họ, nhưng hầu hết mọi người không quan tâm đến điều đó.

Những gì họ muốn thấy là AMD tung ra một mô hình đầu cuối để cạnh tranh trực tiếp với những gì tốt nhất từ ​​Nvidia. Họ đã làm điều đó và bây giờ chúng ta đã thấy kết quả, các game thủ PC giờ đây có thể tha hồ lựa chọn (ít nhất là về mặt lý thuyết ), khi chi tiền của họ cho các card đồ họa có hiệu suất tốt nhất.

Nhưng những gì về việc cung cấp năng lượng cho các con chip của chúng? Một trong số chúng về cơ bản có tốt hơn cái còn lại không?
Đọc tiếp để xem Ampere và RDNA 2 chiến đấu như thế nào!

 

Nvidia thu nhỏ, AMD phát triển

Kích thước Nodes và khuôn

Các dòng sản phẩm GPU cao cấp đã lớn hơn rất nhiều so với CPU trong nhiều năm qua và kích thước cảu chúng đang tăng dần theo năm tháng. Sản phẩm mới nhất của AMD có diện tích khoảng 520 mm 2 , gấp đôi kích thước của chip Navi trước đó của họ . Tuy nhiên, nó không phải là phiên bản lớn nhất mà họ có - niềm vinh dự đó thuộc về GPU trong bộ tăng tốc MI100 Instinct mới của họ, vào khoảng 750 mm 2 .

Lần cuối cùng AMD sản xuất bộ xử lý chơi game có kích thước gần bằng với Navi 21 là dành cho card Radeon R9 Fury và Nano, sử dụng kiến ​​trúc GCN 3.0 trong chip Fiji. Nó có kích thước 596 mm 2 trong khu vực khuôn, nhưng nó được sản xuất trên nút quy trình 28HP của TSMC.

AMD đã sử dụng quy trình N7 nhỏ hơn nhiều của TSMC kể từ năm 2018 và chip lớn nhất từ ​​dây chuyền sản xuất đó là Vega 20 (như được tìm thấy trong Radeon VII ), với diện tích 331 mm 2 . Tất cả các GPU Navi của họ đều được sản xuất trên một phiên bản cập nhật nhẹ của quy trình đó, được gọi là N7P, vì vậy có thể so sánh các sản phẩm này.

 

 

Radeon R9 Nano: thẻ nhỏ, GPU lớn

 

 

 

Nhưng khi nói đến kích thước khuôn mẫu tuyệt đối, Nvidia chiếm ngôi vương, không nhất thiết phải như vậy mới là tốt. Chip dựa trên Ampere mới nhất, GA102, là 628 mm 2 . Nó thực sự nhỏ hơn khoảng 17% so với tiền thân của nó, TU102 - GPU có diện tích đáng kinh ngạc 754 mm 2 .

Cả hai đều có kích thước nhạt hơn khi so sánh với chip GA100 khổng lồ của Nvidia - được sử dụng trong AI & trung tâm dữ liệu, GPU này có kích thước 826 mm 2 và đó là chip TSMC N7. Mặc dù chưa bao giờ được thiết kế để cung cấp năng lượng cho card đồ họa máy tính để bàn, nhưng nó cho thấy quy mô sản xuất GPU có thể đạt được.

Đặt tất cả chúng cạnh nhau sẽ làm nổi bật mức độ cồng kềnh của GPU lớn nhất của Nvidia. Navi 21 trông khá mảnh mai, mặc dù có nhiều thứ cho một bộ xử lý hơn là chỉ khu vực chết. GA102 đang đóng gói khoảng 28,3 tỷ bóng bán dẫn, trong khi chip mới của AMD có ít hơn 5%, ở mức 26,8 tỷ.

 

 

Những gì chúng ta không biết là mỗi GPU được xây dựng bao nhiêu lớp, vì vậy tất cả những gì chúng ta có thể so sánh là tỷ lệ bóng bán dẫn trên diện tích khuôn, thường được gọi là mật độ khuôn . Navi 21 có khoảng 51,5 triệu bóng bán dẫn trên mỗi mm vuông, nhưng GA102 có số lượng thấp hơn đáng kể ở mức 41,1 - có thể là chip của Nvidia được xếp chồng lên nhau cao hơn một chút so với của AMD, nhưng nó có nhiều khả năng là một dấu hiệu của nút quá trình.

Như đã đề cập, Navi 21 được sản xuất bởi TSMC, sử dụng phương pháp sản xuất N7P của họ, giúp tăng hiệu suất một chút so với N7; nhưng đối với sản phẩm mới của họ, GA102, Nvidia đã chuyển sang cho Samsung làm nhiệm vụ sản xuất. Gã khổng lồ bán dẫn Hàn Quốc đang sử dụng một phiên bản đã được tinh chỉnh, dành riêng cho Nvidia, của cái gọi là nút 8 nm của họ (được dán nhãn là 8N hoặc 8NN).

Các giá trị nút này, 7 và 8, không liên quan nhiều đến kích thước thực của các thành phần với chip: chúng chỉ đơn giản là các thuật ngữ tiếp thị, được sử dụng để phân biệt giữa các kỹ thuật sản xuất khác nhau. Điều đó nói rằng, ngay cả khi GA102 có nhiều lớp hơn Navi 21, kích thước khuôn vẫn có một tác động cụ thể.

 

Một tấm wafer 300 mm (12 inch) đang được thử nghiệm trong nhà máy chế tạo TSMC.

 

Bộ vi xử lý và các chip khác được chế tạo từ các đĩa tròn, lớn bằng silicon tinh chế cao và các vật liệu khác, được gọi là tấm xốp . TSMC và Samsung sử dụng đĩa đệm 300 mm cho AMD và Nvidia, và mỗi đĩa sẽ tạo ra nhiều chip hơn sử dụng các khuôn nhỏ hơn so với các đĩa lớn hơn.

Sự khác biệt dường như không quá lớn, nhưng khi mỗi tấm wafer tiêu tốn hàng nghìn đô la để sản xuất, AMD có một lợi thế nhỏ so với Nvidia, khi tiết kiệm chi phí sản xuất. Tất nhiên, đó là giả định, Samsung hoặc TSMC không thực hiện một số loại thỏa thuận tài chính với AMD / Nvidia.

Tất cả những trò tai quái về kích thước khuôn và số lượng bóng bán dẫn này sẽ chẳng có ích lợi gì, nếu bản thân các con chip không giỏi trong những gì chúng được thiết kế để làm. Vì vậy, hãy cùng tìm hiểu bố cục của từng GPU mới và xem bên dưới lớp

 

Mổ xẻ khuôn

Cấu trúc tổng thể của Ampere GA102 và RDNA 2 Navi 21

Tôi bắt đầu khám phá các kiến ​​trúc bằng cách xem xét cấu trúc tổng thể của GPU Ampere GA102 và RDNA 2 Navi 21 - những sơ đồ này không cho tôi nhiều thông tin về mọi thứ được bố trí vật lý như thế nào, nhưng chúng cho biết rõ ràng về cách nhiều thành phần mà bộ vi xử lý có.

Trong cả hai trường hợp, bố cục đều rất quen thuộc, vì chúng về cơ bản là phiên bản mở rộng của những người tiền nhiệm. Việc thêm nhiều đơn vị để xử lý các lệnh sẽ luôn làm tăng hiệu suất của GPU, vì ở độ phân giải cao trong các bộ phim bom tấn 3D mới nhất, khối lượng công việc kết xuất liên quan đến một số lượng lớn các phép tính song song.

 

 

Các sơ đồ như vậy rất hữu ích, nhưng đối với phân tích cụ thể này, thực sự thú vị hơn khi xem xét vị trí các thành phần khác nhau bên trong GPU tự chết. Khi thiết kế một bộ xử lý quy mô lớn, bạn thường muốn các tài nguyên được chia sẻ, chẳng hạn như bộ điều khiển và bộ nhớ cache ở vị trí trung tâm, để đảm bảo mọi thành phần đều có cùng một đường dẫn đến chúng.

Các hệ thống giao diện, chẳng hạn như bộ điều khiển bộ nhớ cục bộ hoặc đầu ra video, nên đi trên các cạnh của chip để dễ dàng kết nối chúng với hàng nghìn dây riêng lẻ liên kết GPU với phần còn lại của card đồ họa.

Dưới đây là các hình ảnh sai màu về cái chết của Navi 21 của AMD và GA102 của Nvidia. Cả hai đều đã được chạy qua một số xử lý hình ảnh để làm sạch hình ảnh và cả hai đều thực sự chỉ hiển thị một lớp bên trong chip; nhưng chúng cung cấp cho chúng ta một cái nhìn tuyệt vời về các bộ phận bên trong của một GPU hiện đại.

 

 

 

Sự khác biệt rõ ràng nhất giữa các thiết kế là Nvidia đã không tuân theo cách tiếp cận tập trung đối với bố cục chip - tất cả các bộ điều khiển hệ thống và bộ nhớ đệm chính đều nằm ở dưới cùng, với các đơn vị logic chạy trong các cột dài. Trước đây họ đã làm điều này, nhưng chỉ với các mẫu trung cấp / thấp hơn.

Ví dụ, Pascal GP106 (được sử dụng giống như GeForce GTX 1060 ) thực sự là một nửa của GP104 (từ GeForce GTX 1070 ). Thứ hai là chip lớn hơn, có bộ nhớ đệm và bộ điều khiển ở giữa; chúng di chuyển sang một bên trong người anh em của nó, nhưng chỉ vì thiết kế đã bị tách ra.

 

 

 

Đối với tất cả các bố cục GPU đầu cuối trước đây của họ, Nvidia đã sử dụng một tổ chức tập trung cổ điển. Vậy tại sao lại có sự thay đổi ở đây? Nó không thể là vì lý do giao diện, vì các bộ điều khiển bộ nhớ và hệ thống PCI Express đều chạy xung quanh mép của khuôn.

Nó cũng không phải lý do vì nhiệt, vì ngay cả khi phần bộ nhớ đệm / bộ điều khiển của khuôn chạy nóng hơn các phần logic, bạn vẫn muốn nó ở giữa, nơi có nhiều silicon xung quanh để giúp hấp thụ và tản nhiệt . Mặc dù tôi không hoàn toàn chắc chắn về lý do của sự thay đổi này, nhưng tôi nghi ngờ rằng đó là do những thay đổi mà Nvidia đã thực hiện với các đơn vị ROP ( kết xuất đầu ra ) trong chip.

Chúng ta sẽ xem xét những điều đó chi tiết hơn sau này, nhưng bây giờ chúng ta hãy cùng xem xét sự thay đổi trong bố cục mặc dù trông kỳ lạ, nhưng nó sẽ không tạo ra sự khác biệt đáng kể về hiệu suất. Điều này là do kết xuất 3D có rất nhiều độ trễ, thường là do phải chờ dữ liệu. Vì vậy, các nano giây bổ sung được thêm vào bằng cách có một số đơn vị logic xa hơn từ bộ nhớ cache so với các đơn vị khác, tất cả đều bị ẩn trong sơ đồ lớn của mọi thứ.

Trước khi chúng ta tiếp tục, chúng ta nên đánh giá lại những thay đổi kỹ thuật mà AMD đã thực hiện trong bố cục Navi 21, so với Navi 10 cung cấp năng lượng cho Radeon RX 5700 XT . Mặc dù chip mới có kích thước gấp đôi, cả về diện tích và số lượng bóng bán dẫn, so với chip trước đó, các nhà thiết kế cũng đã cố gắng cải thiện tốc độ xung nhịp mà không làm tăng đáng kể điện năng tiêu thụ.

Ví dụ, Radeon RX 6800 XT có xung nhịp cơ bản và xung nhịp tăng tương ứng là 1825 và 2250 MHz, cho TDP là 300 W; các số liệu tương tự cho Radeon RX 5700 XT là 1605 MHz, 1905 MHz và 225 W. Nvidia cũng đã tăng tốc độ đồng hồ với Ampere, nhưng một số trong số đó có thể là do sử dụng nút quy trình nhỏ hơn và hiệu quả hơn.

 

 

 

Kiểm tra hiệu suất trên mỗi watt của tôi đối với các card Ampere và RDNA 2 cho thấy cả hai nhà cung cấp đều đã có những cải tiến đáng kể trong lĩnh vực này, nhưng AMD và TSMC đã đạt được một điều gì đó đáng chú ý hơn - so sánh sự khác biệt giữa Radeon RX 6800 và Radeon VII trong Biểu đồ trên.

Sau đó là lần hợp tác GPU đầu tiên của họ bằng cách sử dụng nút N7 và trong khoảng thời gian chưa đầy hai năm, họ đã tăng hiệu suất trên mỗi watt lên 64%. Nó đặt ra câu hỏi là Ampere GA102 có thể tốt hơn bao nhiêu nếu Nvidia ở lại với TSMC cho nhiệm vụ sản xuất của họ.

 

 

Quản lý nhà máy sản xuất GPU

Cách mọi thứ được tổ chức bên trong chip

Khi nói đến việc xử lý các lệnh và quản lý việc truyền dữ liệu, cả Ampere và RDNA 2 đều tuân theo một mô hình tương tự như cách mọi thứ được tổ chức bên trong các chip. Các nhà phát triển game viết mã tiêu đề của họ bằng cách sử dụng API đồ họa, để tạo ra tất cả các hình ảnh; nó có thể là Direct3D, OpenGL hoặc Vulkan. Đây thực chất là các thư viện phần mềm, chứa đầy 'sách' về các quy tắc, cấu trúc và hướng dẫn đơn giản.

Các trình điều khiển mà AMD và Nvidia tạo ra cho chip của họ về cơ bản hoạt động như một trình dịch: chuyển đổi các quy trình được cấp qua API thành một chuỗi hoạt động mà GPU có thể hiểu được. Sau đó, hoàn toàn phụ thuộc vào phần cứng để quản lý mọi thứ, liên quan đến hướng dẫn nào được thực hiện trước, phần nào của chip thực hiện chúng, v.v.

Giai đoạn quản lý lệnh ban đầu này được xử lý bởi một tập hợp các đơn vị, tập trung một cách hợp lý trong chip. Trong RDNA 2, các trình tạo bóng đồ họa và máy tính được định tuyến qua các đường ống riêng biệt, lập lịch và gửi các hướng dẫn đến phần còn lại của chip; cái trước được gọi là Graphics Command Processor , cái sau là Asynchronous Compute Engines (viết tắt là ACE).

 

 

 

Nvidia chỉ sử dụng một tên để mô tả tập hợp các đơn vị quản lý của họ, GigaThread Engine và trong Ampere, nó thực hiện nhiệm vụ tương tự như với RDNA 2, mặc dù Nvidia không nói quá nhiều về cách nó thực sự quản lý mọi thứ. Nhìn chung, các bộ xử lý lệnh này hoạt động giống như một giám đốc sản xuất của một nhà máy.

GPU nhận được hiệu suất từ ​​việc thực hiện mọi thứ song song, vì vậy cấp độ tổ chức tiếp theo được nhân đôi trên chip. Gắn bó với sự tương đồng về nhà máy, đây sẽ giống như một doanh nghiệp có văn phòng trung tâm, nhưng có nhiều địa điểm để sản xuất hàng hóa.

AMD sử dụng nhãn Shader Engine (SE), trong khi Nvidia gọi chúng là Graphics Processing Clusters (GPC)  - tên khác nhau nhưng cùng một vai trò.

 

 

Lý do cho sự phân vùng này của chip rất đơn giản: các đơn vị xử lý lệnh không thể xử lý mọi thứ, vì nó sẽ quá lớn và phức tạp. Vì vậy, nó là hợp lý để đẩy một số nhiệm vụ lên lịch và tổ chức xuống dòng. Điều đó cũng có nghĩa là mỗi phân vùng tách biệt có thể thực hiện một điều gì đó hoàn toàn độc lập với những phân vùng khác - vì vậy một người có thể xử lý một loạt các trình tạo bóng đồ họa, trong khi những phân vùng khác đang nghiền ngẫm các trình tạo bóng máy tính phức tạp và dài.

Trong trường hợp của RDNA 2, mỗi SE chứa một tập hợp các đơn vị chức năng cố định của riêng nó : các mạch được thiết kế để thực hiện một nhiệm vụ cụ thể, mà thường lập trình viên không thể điều chỉnh nhiều.

  • Đơn vị thiết lập ban đầu - chuẩn bị các đỉnh để xử lý, cũng như tạo thêm (tessellation) và xử lý chúng
  • Rasterizer - chuyển đổi thế giới hình tam giác 3D thành một lưới pixel 2D
  • Kết xuất đầu ra (ROP) - đọc, ghi và kết hợp các pixel

Đơn vị thiết lập ban đầu chạy với tốc độ 1 hình tam giác trên mỗi chu kỳ đồng hồ. Điều này có vẻ không giống lắm nhưng đừng quên rằng những con chip này đang chạy ở bất kỳ đâu trong khoảng từ 1,8 đến 2,2 GHz, vì vậy thiết lập sơ khai sẽ không bao giờ là một nút thắt cổ chai cho GPU. Đối với Ampere, đơn vị nguyên thủy được tìm thấy trong cấp tổ chức tiếp theo và tôi sẽ trình bày ngay sau đây.

Cả AMD và Nvidia đều không nói quá nhiều về nó. Loại thứ hai với tên gọi Raster Engines , chúng ta biết rằng chúng xử lý 1 hình tam giác trên mỗi chu kỳ đồng hồ và tạo ra pixel, nhưng không có thêm thông tin nào để xử lý, chẳng hạn như độ chính xác pixel phụ của chúng.

Mỗi SE trong chip Navi 21 có 4 bộ 8 ROP, dẫn đến tổng cộng 128 đơn vị kết xuất hiển thị; GA102 của Nvidia có 2 bộ 8 ROP trên mỗi GPC, vì vậy chip đầy đủ có 112 đơn vị. Điều này có vẻ như AMD có lợi thế ở đây, vì nhiều ROP hơn có nghĩa là nhiều pixel hơn có thể được xử lý trên mỗi xung nhịp. Nhưng các đơn vị như vậy cần truy cập tốt vào bộ nhớ đệm và bộ nhớ cục bộ, và tôi sẽ nói thêm về điều đó ở phần sau của bài viết này. Bây giờ, chúng ta hãy tiếp tục xem xét cách phân vùng SE / GPC được chia nhỏ hơn.

 

 

 

Các công cụ Shader của AMD được phân vùng phụ theo tên gọi là Đơn vị tính toán kép (DCU), với chip Navi 21 cung cấp mười DCU cho mỗi SE - lưu ý rằng trong một số tài liệu, chúng cũng được phân loại là Bộ xử lý nhóm làm việc (WGP). Trong trường hợp của Ampere và GA102, chúng được gọi là Cụm xử lý kết cấu (TPC), với mỗi GPU chứa 6 TPC. Mỗi cụm trong thiết kế của Nvidia đều chứa một thứ gọi là Polymorph Engine - về cơ bản, các đơn vị thiết lập ban đầu của Ampere.

Chúng cũng chạy với tốc độ 1 tam giác mỗi xung nhịp và mặc dù GPU của Nvidia có xung nhịp thấp hơn AMD, chúng có nhiều TPC hơn Navi 21 có SE. Vì vậy, với cùng một tốc độ xung nhịp, GA102 sẽ có một lợi thế đáng chú ý là chip hoàn chỉnh chứa 42 đơn vị thiết lập shader, trong khi RDNA 2 mới của AMD chỉ có 4. hệ thống của Navi 21's bốn. Vì cái thứ hai không có tốc độ cao hơn 75% so với cái trước, có vẻ như Nvidia là người dẫn đầu ở đây, khi nói đến việc xử lý hình học (mặc dù không có tựa game nào có thể bị giới hạn trong lĩnh vực này).

Cấp cuối cùng của tổ chức chip là Đơn vị tính toán (CU) trong RDNA 2 và Bộ xử lý đa luồng (SM) trong Ampere - dây chuyền sản xuất của các nhà máy GPU.

 

 

 

Đây là những thứ rất giống rau củ trong chiếc bánh GPU, vì chúng chứa tất cả các đơn vị có khả năng lập trình cao được sử dụng để xử lý đồ họa máy tính và bây giờ là trình tạo bóng theo dõi tracing shaders. Như bạn có thể thấy trong hình trên, mỗi cái chiếm một phần rất nhỏ của không gian khuôn tổng thể, nhưng chúng vẫn cực kỳ phức tạp và rất quan trọng đối với hiệu suất tổng thể của chip.

Cho đến nay, chưa có bất kỳ sự phá vỡ thỏa thuận nào nghiêm trọng, khi nói đến cách mọi thứ được bố trí và tổ chức trong hai GPU - danh pháp tất cả đều khác nhau, nhưng chức năng của chúng thì giống nhau. Và bởi vì phần lớn những gì họ làm bị giới hạn bởi khả năng lập trình và tính linh hoạt, nên bất kỳ lợi thế nào của cái này hơn cái kia, chỉ thuộc về quy mô, tức là cái nào có nhiều thứ cụ thể nhất đó.

Nhưng với CU và SM, AMD và Nvidia có những cách tiếp cận khác nhau về cách xử lý shader. Trong một số lĩnh vực, chúng có rất nhiều điểm chung, nhưng có rất nhiều điểm khác không phải như vậy.

 

Đếm số lõi theo cách Nvidia

Vì Ampere đã mạo hiểm trước RDNA 2, chúng ta sẽ xem xét các SM của Nvidia trước. Bây giờ không có ích gì khi xem hình ảnh của những thứ đã chết, vì chúng không thể cho chúng ta biết chính xác những gì bên trong chúng, vì vậy hãy sử dụng sơ đồ tổ chức. Chúng không được cho là đại diện cho cách các thành phần khác nhau được sắp xếp vật lý trong chip, chỉ là số lượng mỗi loại hiện diện.

Trong đó Turing là một thay đổi đáng kể so với người tiền nhiệm Pascal trên máy tính để bàn của nó (mất đi một đống đơn vị FP64 và thanh ghi, nhưng có được lõi tensor và raytracing), Ampere thực sự là một bản cập nhật khá nhẹ - ít nhất là trên mệnh giá. Tuy nhiên, theo như bộ phận tiếp thị của Nvidia , thiết kế mới đã tăng gấp đôi số lượng lõi CUDA trong mỗi SM.

 

 

 

Trong Turing, Bộ xử lý đa luồng chứa bốn phân vùng (đôi khi được gọi là khối xử lý), trong đó mỗi đơn vị logic 16x INT32 và 16x FP32. Các mạch này được thiết kế để thực hiện các phép toán rất cụ thể trên các giá trị dữ liệu 32-bit: đơn vị INT xử lý số nguyên và đơn vị FP hoạt động trên dấu phẩy động, tức là số thập phân, số.

Nvidia tuyên bố rằng Ampere SM có tổng cộng 128 lõi CUDA, nhưng nói một cách nghiêm túc, điều này không đúng - hoặc nếu chúng ta phải bám vào con số này, thì Turing cũng vậy. Các đơn vị INT32 trong chip đó thực sự có thể xử lý các giá trị float , nhưng chỉ trong một số rất nhỏ các thao tác đơn giản. Đối với Ampere, Nvidia đã mở phạm vi hoạt động toán học dấu phẩy động mà họ hỗ trợ để khớp với các đơn vị FP32 khác. Điều đó có nghĩa là tổng số lõi CUDA trên mỗi SM không thực sự thay đổi; chỉ là một nửa trong số họ hiện có nhiều khả năng hơn.

Tất cả các lõi trong mỗi phân vùng SM xử lý cùng một lệnh tại cùng một thời điểm, nhưng vì các đơn vị INT / FP có thể hoạt động độc lập, Ampere SM có thể xử lý các phép tính lên đến 128x FP32 mỗi chu kỳ hoặc hoạt động 64x FP32 và 64x INT32 cùng nhau. Trong Turing, nó chỉ là cái sau.

Vì vậy, GPU mới có khả năng tăng gấp đôi sản lượng FP32 so với người tiền nhiệm của nó. Đối với khối lượng công việc tính toán, đặc biệt là trong các ứng dụng chuyên nghiệp, đây là một bước tiến lớn; nhưng đối với chơi game, lợi ích sẽ không có nhiều. Điều này được thể hiện rõ khi tôi lần đầu tiên thử nghiệm GeForce RTX 3080, sử dụng chip GA102 với 68 SMs được kích hoạt.

 

 

 

Mặc dù có thông lượng FP32 cao nhất 121% so với GeForce 2080 Ti, nhưng tốc độ khung hình chỉ tăng trung bình 31%. Vậy tại sao tất cả sức mạnh tính toán đó lại bị lãng phí? Câu trả lời đơn giản là không phải vậy, nhưng các tựa game không phải lúc nào cũng chạy hướng dẫn FP32.

Khi Nvidia phát hành Turing vào năm 2018, họ đã chỉ ra rằng trung bình khoảng 36% các lệnh được xử lý bởi GPU liên quan đến các quy trình INT32. Các tính toán này thường được chạy để tìm ra địa chỉ bộ nhớ, so sánh giữa hai giá trị và luồng / điều khiển logic.

 

 

 

Vì vậy, đối với những hoạt động đó, tính năng FP32 tỷ lệ kép không phát huy tác dụng, vì các đơn vị có hai đường dẫn dữ liệu chỉ có thể thực hiện số nguyên hoặc dấu phẩy động. Và một phân vùng SM sẽ chỉ chuyển sang chế độ này nếu tất cả 32 luồng, đang được nó xử lý tại thời điểm đó, có cùng hoạt động FP32 được xếp hàng để được xử lý. Trong tất cả các trường hợp khác, các phân vùng trong Ampere hoạt động giống như trong Turing.

Điều này có nghĩa là GeForce RTX 3080 chỉ có lợi thế FP32 11% so với 2080 Ti, khi hoạt động ở chế độ INT + FP. Đây là lý do tại sao mức tăng hiệu suất thực tế khi chơi game không cao như các số liệu thô cho thấy nó phải như vậy.

Các cải tiến khác? Có ít lõi Tensor hơn trên mỗi phân vùng SM, nhưng mỗi lõi có khả năng hơn nhiều so với lõi trong Turing. Các mạch này thực hiện một phép tính rất cụ thể (chẳng hạn như nhân hai giá trị FP16 và tích lũy câu trả lời với một số FP16 khác) và mỗi lõi hiện thực hiện 32 hoạt động này trong mỗi chu kỳ.

 

 

 

Họ cũng hỗ trợ một tính năng mới được gọi là Fine-Grained Structured Sparsity và không đi sâu vào chi tiết của tất cả, về cơ bản, điều đó có nghĩa là tỷ lệ toán học có thể tăng gấp đôi, bằng cách lược bỏ dữ liệu không ảnh hưởng đến câu trả lời. Một lần nữa, đây là tin tốt cho các chuyên gia làm việc với mạng nơ-ron và AI, nhưng hiện tại, không có lợi ích đáng kể nào cho các nhà phát triển game.

Các lõi truy tìm tia cũng đã được tinh chỉnh: giờ đây chúng có thể hoạt động độc lập với các lõi CUDA, vì vậy trong khi chúng thực hiện phép toán giao điểm theo chiều ngang hoặc tia nguyên thủy BVH, phần còn lại của SM vẫn có thể xử lý shader. Phần của RT Core xử lý việc kiểm tra xem một tia có giao với một nguyên thủy hay không cũng đã tăng gấp đôi hiệu suất.

 

 

 

 

RT Cores cũng có phần cứng bổ sung để giúp áp dụng tính năng raytracing để làm mờ chuyển động, nhưng tính năng này hiện chỉ được hiển thị thông qua API Optix độc quyền của Nvidia .

Có những điều chỉnh khác, nhưng cách tiếp cận tổng thể là một trong những sự phát triển hợp lý và ổn định, thay vì một thiết kế mới. Nhưng do không có gì đặc biệt sai với khả năng thô của Turing ngay từ đầu, nên không có gì ngạc nhiên khi thấy điều này.

Vậy còn AMD - họ đã làm gì với các Đơn vị tính toán trong RDNA 2?

 

Raytracing tuyệt vời

Về mệnh giá, AMD không có nhiều thay đổi về các Đơn vị tính toán - chúng vẫn chứa hai bộ gồm một đơn vị vectơ SIMD32, một đơn vị vô hướng SISD, các đơn vị kết cấu và một chồng các bộ nhớ đệm khác nhau. Có một số thay đổi liên quan đến loại dữ liệu và các phép toán liên quan mà chúng có thể thực hiện và chúng tôi sẽ nói thêm về những loại dữ liệu đó ngay bên dưới. Thay đổi đáng chú ý nhất đối với người dùng nói chung là AMD hiện cung cấp khả năng tăng tốc phần cứng cho các quy trình cụ thể trong raytracing .

Phần này của CU thực hiện kiểm tra giao điểm hình tia hoặc tia-tam giác - giống như các lõi RT trong Ampe. Tuy nhiên, phần sau cũng tăng tốc các thuật toán truyền tải BVH, trong RDNA 2, điều này được thực hiện thông qua bộ shader máy tính sử dụng đơn vị SIMD 32.

 

 

 

Bất kể một trong những lõi shader có bao nhiêu lõi hay tốc độ xung nhịp của chúng cao đến mức nào, việc sử dụng các mạch tùy chỉnh được thiết kế để chỉ thực hiện một công việc sẽ luôn tốt hơn so với cách tiếp cận tổng quát. Đây là lý do tại sao GPU được phát minh ngay từ đầu: mọi thứ trong thế giới dựng hình đều có thể được thực hiện bằng CPU, nhưng bản chất chung của chúng khiến chúng không phù hợp với điều này.

Các đơn vị RA nằm bên cạnh các bộ xử lý kết cấu, vì chúng thực sự là một phần của cùng một cấu trúc. Trở lại tháng 7 năm 2019, chúng tôi đã báo cáo về sự xuất hiện của một bằng sáng chế do AMD đệ trình chi tiết bằng cách sử dụng phương pháp 'kết hợp' để xử lý các thuật toán chính trong dò tia ...

 

 

 

Mặc dù hệ thống này cung cấp tính linh hoạt cao hơn và loại bỏ nhu cầu phải có các phần của khuôn không làm gì khi có khối lượng công việc raytracing, việc triển khai đầu tiên của AMD về điều này có một số hạn chế. Điều đáng chú ý nhất trong số đó là các bộ xử lý kết cấu chỉ có thể xử lý các hoạt động liên quan đến kết cấu hoặc giao điểm nguyên thủy tia tại một thời điểm bất kỳ.

Do RT Cores của Nvidia hiện hoạt động hoàn toàn độc lập với phần còn lại của SM, điều này dường như mang lại cho Ampere một điểm dẫn đầu khác biệt so với RNDA 2, khi nói đến việc nghiền nát các cấu trúc gia tốc và các bài kiểm tra giao điểm cần thiết trong tracing.

Mặc dù tôi chỉ mới kiểm tra ngắn gọn hiệu suất raytracing trong các card đồ họa mới nhất của AMD, nhưng cho đến nay, tôi đã phát hiện ra rằng tác động của việc sử dụng tính năng raytracing phụ thuộc rất nhiều vào tựa game đang chơi.

 

 

 

Ví dụ: trong Gears 5, Radeon RX 6800 (sử dụng biến thể 60 CU của GPU Navi 21) chỉ đạt được 17% tốc độ khung hình, trong khi trong Shadow of the Tomb Raider, con số này tăng lên mức mất trung bình 52%. Trong khi đó, RTX 3080 của Nvidia (sử dụng 68 SM GA102) có tỷ lệ khung hình trung bình lần lượt là 23% và 40% trong hai tựa game.

Cần có một phân tích chi tiết hơn về raytracing để nói thêm bất cứ điều gì về việc triển khai của AMD, nhưng là lần lặp lại đầu tiên của công nghệ, nó có vẻ cạnh tranh nhưng nhạy cảm với ứng dụng nào đang thực hiện raytracing.

Như đã đề cập trước đây, các Đơn vị Máy tính trong RDNA 2 hiện hỗ trợ nhiều kiểu dữ liệu hơn; đáng chú ý nhất là các loại dữ liệu có độ chính xác thấp như INT4 và INT8. Chúng được sử dụng cho các hoạt động tensor trong thuật toán học máy và trong khi AMD có kiến ​​trúc riêng biệt (CDNA) cho AI và trung tâm dữ liệu, bản cập nhật này được sử dụng với DirectML .

 

 

 

API này là một bổ sung gần đây cho DirectX 12 của Microsoft và sự kết hợp giữa phần cứng và phần mềm sẽ cung cấp khả năng tăng tốc tốt hơn cho việc khử nhiễu trong các thuật toán dò tìm tia và nâng cấp theo thời gian. Trong trường hợp thứ hai, tất nhiên Nvidia có DLSS của riêng họ. Hệ thống của họ sử dụng các lõi Tensor trong SM để thực hiện một phần tính toán, nhưng do một quy trình tương tự có thể được xây dựng thông qua DirectML, có vẻ như các đơn vị này hơi thừa. Tuy nhiên, trong cả Turing và Ampere, Tensor Cores cũng xử lý tất cả các phép toán liên quan đến các định dạng dữ liệu FP16.

Với RDNA 2, các tính toán như vậy được thực hiện bằng cách sử dụng các đơn vị shader, sử dụng các định dạng dữ liệu đóng gói, tức là mỗi thanh ghi vectơ 32 bit chứa hai thanh ghi 16 bit. Vậy cách tiếp cận nào tốt hơn? AMD gắn nhãn các đơn vị SIMD32 của họ là bộ xử lý vectơ, vì chúng phát hành một lệnh cho nhiều giá trị dữ liệu.

Mỗi đơn vị vectơ chứa 32 Bộ xử lý luồng và vì mỗi Bộ xử lý trong số này chỉ hoạt động trên một phần dữ liệu duy nhất nên bản thân các hoạt động thực tế có bản chất là vô hướng. Điều này về cơ bản giống như một phân vùng SM trong Ampere, trong đó mỗi khối xử lý cũng mang một lệnh trên 32 giá trị dữ liệu.

Nhưng trong đó toàn bộ SM trong thiết kế của Nvidia có thể xử lý tới 128 phép tính FP32 FMA mỗi chu kỳ ( hợp nhất nhân-cộng ), thì một Đơn vị tính toán RDNA 2 chỉ thực hiện được 64. Sử dụng FP16 tăng điều này lên 128 FMA mỗi chu kỳ, giống Các lõi Tensor của Ampere khi thực hiện phép toán FP16 tiêu chuẩn.

Các SM của Nvidia có thể xử lý các lệnh để xử lý các giá trị số nguyên và số float cùng một lúc (ví dụ: 64 FP32 và 64 INT32), đồng thời có các đơn vị độc lập cho các hoạt động FP16, tính toán tensor và quy trình tracing. Các CU của AMD thực hiện phần lớn khối lượng công việc trên các đơn vị SIMD32, mặc dù chúng có các đơn vị vô hướng riêng biệt hỗ trợ phép toán số nguyên đơn giản.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tin xem nhiều
Đăng ký nhận chương trình khuyến mãi!