Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Ba mươi năm trước, CPU và các bộ xử lý chuyên dụng khác đã xử lý hầu như tất cả các tác vụ tính toán. Các card đồ họa của thời đại đó đã giúp tăng tốc độ vẽ các hình dạng 2D trong Windows và các ứng dụng, nhưng hoàn toàn không làm được gì khác. Nhanh chóng cho đến ngày nay và GPU hiện đã trở thành một trong những con chip thống trị nhất trong toàn ngành.

Đã qua lâu rồi cái thời mà chức năng duy nhất của phần cứng chip đồ họa là đồ họa – trớ trêu thay – tính toán hiệu năng cao và học máy phụ thuộc rất nhiều vào sức mạnh xử lý của GPU khiêm tốn. Hãy tham gia cùng chúng tôi khi chúng tôi khám phá cách con chip đơn này phát triển từ một bộ đẩy pixel khiêm tốn thành một cỗ máy tính toán dấu phẩy động cực mạnh.

Hãy bắt đầu bằng cách quay trở lại cuối những năm 1990. Lĩnh vực điện toán hiệu năng cao, cho dù là nỗ lực khoa học sử dụng siêu máy tính, xử lý dữ liệu trên máy chủ tiêu chuẩn hay các nhiệm vụ thiết kế và kỹ thuật trên máy trạm, đều hoàn toàn phụ thuộc vào hai loại CPU – bộ xử lý chuyên dụng được chế tạo cho một mục đích duy nhất hoặc ngoài mục đích. kệ chip của AMD, IBM hoặc Intel.

Lấy ASCI Red làm ví dụ. Vào năm 1997, nó là một trong những siêu máy tính mạnh nhất xung quanh, bao gồm 9.632 CPU Intel Pentium II Overdrive (bên dưới). Với mỗi đơn vị hoạt động ở tần số 333 MHz, hệ thống tự hào về hiệu suất tính toán cao nhất theo lý thuyết chỉ hơn 3,2 TFLOPS (nghìn tỷ phép tính dấu chấm động mỗi giây).

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Vì chúng ta sẽ thường xuyên đề cập đến số liệu này trong bài viết này, nên dành một chút thời gian để giải thích ý nghĩa của nó. Trong khoa học máy tính, dấu phẩy động hay viết tắt là số float, là các giá trị dữ liệu đại diện cho các giá trị không phải là số nguyên, chẳng hạn như 6,2815 hoặc 0,0044. Các giá trị nguyên, được gọi là số nguyên, được sử dụng thường xuyên cho các tính toán cần thiết để điều khiển máy tính và bất kỳ phần mềm nào chạy trên đó.

Phao rất quan trọng đối với các tình huống mà độ chính xác là tối quan trọng – đặc biệt là bất cứ điều gì liên quan đến khoa học hoặc kỹ thuật. Ngay cả một phép tính đơn giản, chẳng hạn như xác định chu vi của một vòng tròn, liên quan đến ít nhất một giá trị dấu phẩy động.

CPU đã có các mạch riêng biệt để thực hiện các phép toán logic trên số nguyên và số float trong nhiều thập kỷ. Trong trường hợp Pentium II Overdrive đã nói ở trên, nó có thể thực hiện một thao tác float cơ bản (nhân hoặc cộng) trên mỗi chu kỳ xung nhịp. Về lý thuyết, đây là lý do tại sao ASCI Red có hiệu suất dấu chấm động cao nhất là 9.632 CPU x 333 triệu chu kỳ xung nhịp x 1 hoạt động/chu kỳ = 3.207.456 triệu FLOPS.

Những số liệu như vậy được xác định dựa trên các điều kiện lý tưởng (ví dụ: sử dụng các hướng dẫn đơn giản nhất trên dữ liệu dễ dàng khớp vào bộ đệm) và hiếm khi đạt được trong cuộc sống thực. Tuy nhiên, chúng cung cấp một dấu hiệu tốt về sức mạnh của hệ thống.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Các siêu máy tính khác có số lượng bộ xử lý tiêu chuẩn tương tự – Blue Pacific tại Phòng thí nghiệm quốc gia Lawrence Livermore đã sử dụng 5808 chip PowerPC 604e của IBM và Blue Mountain của Phòng thí nghiệm quốc gia Los Alamos (ở trên) chứa 6144 MIPS Technologies R1000.

Để đạt được khả năng xử lý cấp teraflop, một người cần hàng nghìn CPU, tất cả đều được hỗ trợ bởi lượng RAM và ổ cứng lưu trữ khổng lồ. Điều này đã và vẫn là do nhu cầu toán học của máy móc. Khi chúng ta lần đầu tiên làm quen với các phương trình trong vật lý, hóa học và các môn học khác ở trường, mọi thứ đều là một chiều. Nói cách khác, chúng tôi sử dụng một số duy nhất cho khoảng cách, tốc độ, khối lượng, thời gian, v.v.

Tuy nhiên, để lập mô hình và mô phỏng chính xác các hiện tượng, cần có nhiều chiều hơn và toán học đi sâu vào lĩnh vực của vectơ, ma trận và tenxơ. Chúng được coi là các thực thể đơn lẻ trong toán học nhưng bao gồm nhiều giá trị, ngụ ý rằng bất kỳ máy tính nào hoạt động thông qua các phép tính đều cần xử lý đồng thời nhiều số. Do các CPU hồi đó chỉ có thể xử lý một hoặc hai số float trong mỗi chu kỳ, nên cần đến hàng nghìn số float trong số đó.

Đọc thêm:  Lịch sử của bộ xử lý đồ họa hiện đại, Phần 3

Năm 1997, Intel đã cập nhật dòng CPU Pentium ban đầu của mình bằng công nghệ có tên MMX – một bộ hướng dẫn sử dụng tám thanh ghi bổ sung bên trong lõi. Mỗi cái được thiết kế để lưu trữ từ một đến bốn giá trị số nguyên. Hệ thống này cho phép bộ xử lý thực hiện đồng thời một lệnh trên nhiều số, một cách tiếp cận hay được gọi là SIMD (Một lệnh, Nhiều dữ liệu).

Một năm sau, AMD giới thiệu phiên bản của riêng mình, được gọi là 3DNow!. Nó vượt trội hơn hẳn, vì các thanh ghi có thể lưu trữ các giá trị dấu phẩy động. Phải mất một năm nữa Intel mới giải quyết được vấn đề này trong MMX, với việc giới thiệu SSE (Phần mở rộng SIMD trực tuyến) trong chip Pentium III của mình.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Khi lịch chuyển sang thiên niên kỷ mới, các nhà thiết kế máy tính hiệu năng cao có quyền truy cập vào bộ xử lý tiêu chuẩn có thể xử lý hiệu quả toán học vectơ. Sau khi được nhân rộng thành hàng nghìn, những bộ xử lý này có thể quản lý ma trận và tensor tốt như nhau. Bất chấp sự tiến bộ này, thế giới siêu máy tính vẫn ưa chuộng những con chip cũ hơn hoặc chip chuyên dụng, vì những phần mở rộng mới này không được thiết kế chính xác cho những nhiệm vụ như vậy.

Điều này cũng đúng đối với một bộ xử lý phổ biến nhanh chóng khác hoạt động tốt hơn ở SIMD so với bất kỳ CPU nào của AMD hoặc Intel – GPU.

Trong những năm đầu của bộ xử lý đồ họa, CPU đã xử lý các tính toán cho các hình tam giác tạo thành một cảnh (do đó, tên mà AMD đã sử dụng cho công nghệ SIMD của mình). Tuy nhiên, màu sắc và kết cấu của pixel được xử lý độc quyền bởi GPU và nhiều khía cạnh của công việc này liên quan đến toán học vectơ.

Các card đồ họa tốt nhất dành cho người tiêu dùng từ hơn 20 năm trước, chẳng hạn như Voodoo5 5500 của 3dfx và GeForce 2 Ultra của Nvidia, là những thiết bị SIMD nổi bật. Tuy nhiên, chúng được tạo ra để sản xuất đồ họa 3D cho trò chơi chứ không phải gì khác. Ngay cả thẻ trong thị trường chuyên nghiệp cũng chỉ tập trung vào kết xuất.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

ATI FireGL 3 trị giá 2.000 USD của ATI trang bị hai chip IBM (công cụ hình học GT1000 và bộ quét điểm RC1000), bộ nhớ DDR-SDRAM khổng lồ 128 MB và sức mạnh xử lý 30 GFLOPS được tuyên bố. Nhưng tất cả những thứ đó là để tăng tốc đồ họa trong các chương trình như 3D Studio Max và AutoCAD, sử dụng API kết xuất OpenGL.

GPU của thời đại đó không được trang bị cho các mục đích sử dụng khác, vì các quy trình đằng sau việc chuyển đổi các đối tượng 3D và chuyển đổi chúng thành hình ảnh màn hình không liên quan đến một lượng lớn toán học dấu phẩy động. Trên thực tế, một phần quan trọng của nó là ở mức số nguyên và phải mất vài năm trước khi cạc đồ họa bắt đầu hoạt động nặng nề với các giá trị dấu phẩy động trong toàn bộ hệ thống của chúng.

Một trong những thứ đầu tiên là bộ xử lý R300 của ATI, có 8 đường dẫn pixel riêng biệt, xử lý tất cả phép toán ở độ chính xác dấu chấm động 24-bit. Thật không may, không có cách nào khai thác sức mạnh đó cho bất kỳ thứ gì khác ngoài đồ họa – phần cứng và phần mềm liên quan hoàn toàn tập trung vào hình ảnh.

Các kỹ sư máy tính không hề biết rằng GPU có sức mạnh SIMD rất lớn nhưng lại thiếu cách áp dụng nó trong các lĩnh vực khác. Đáng ngạc nhiên, đó là một máy chơi game đã chỉ ra cách giải quyết vấn đề hóc búa này.

Vào tháng 11 năm 2005, Xbox 360 của Microsoft lên kệ, có CPU do IBM thiết kế và sản xuất dựa trên kiến trúc PowerPC tiêu chuẩn của hãng, GPU do ATI thiết kế và TMSC chế tạo. Chip đồ họa này, có tên mã là Xenos), rất đặc biệt vì cách bố trí của nó hoàn toàn tránh xa cách tiếp cận cổ điển của các đường dẫn đỉnh và pixel riêng biệt.

Đọc thêm:  Cấu tạo của Gamepad

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Thay vào đó là một cụm mảng SIMD ba chiều. Cụ thể, mỗi cụm bao gồm 16 bộ xử lý véc tơ, mỗi bộ chứa năm đơn vị toán học. Bố cục này cho phép mỗi mảng thực thi hai lệnh tuần tự từ một luồng, mỗi chu kỳ, trên 80 giá trị dữ liệu dấu phẩy động đồng thời.

Được biết đến như một kiến trúc đổ bóng thống nhất , mỗi mảng có thể xử lý bất kỳ loại đổ bóng nào. Mặc dù làm cho các khía cạnh khác của chip trở nên phức tạp hơn, Xenos đã tạo ra một mô hình thiết kế vẫn được sử dụng cho đến ngày nay.

Với tốc độ xung nhịp 500 MHz, về mặt lý thuyết, toàn bộ cụm có thể đạt tốc độ xử lý 240 GFLOPS (500 x 16 x 80 x 2) cho ba luồng của lệnh nhân-rồi-cộng. Để cho con số này có cảm giác về quy mô, một số siêu máy tính hàng đầu thế giới một thập kỷ trước đó không thể đạt được tốc độ này.

Chẳng hạn, aragon XP/S140 tại Phòng thí nghiệm quốc gia Sandia, với 3.680 CPU Intel i860, có mức cao nhất là 184 GFLOPS. Chiếc máy này đã được vài năm tuổi vào năm 1995 và tốc độ phát triển chip nhanh chóng vượt xa nó, nhưng điều tương tự cũng đúng với GPU.

Các CPU đã kết hợp các mảng SIMD của riêng chúng trong vài năm – ví dụ, Pentium MMX ban đầu của Intel có một đơn vị chuyên dụng để thực hiện các lệnh trên một vectơ, bao gồm tối đa tám số nguyên 8 bit. Vào thời điểm Xenos được sử dụng trong các gia đình trên toàn thế giới, những thiết bị như vậy ít nhất đã tăng gấp đôi kích thước, nhưng chúng vẫn còn rất nhỏ so với những thiết bị ở Xenos.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Khi các card đồ họa dành cho người tiêu dùng bắt đầu có GPU với kiến trúc đổ bóng hợp nhất, chúng đã tự hào về tốc độ xử lý cao hơn đáng kể so với chip đồ họa của Xbox 360. G80 của Nvidia (ở trên), như được sử dụng trong GeForce 8800 GTX 2006, có đỉnh lý thuyết là 346 GLFOPS và R600 của ATI trong Radeon HD 2900 XT 2007 có 476 GLFOPS.

Cả hai nhà sản xuất đều nhanh chóng tận dụng sức mạnh tính toán này trong các mẫu máy chuyên nghiệp của họ. Mặc dù có giá cắt cổ nhưng FireGL V8650 của ATI và Tesla C870 của Nvidia rất phù hợp cho các máy tính khoa học cao cấp. Tuy nhiên, ở cấp độ cao nhất, các siêu máy tính trên toàn thế giới vẫn tiếp tục chỉ dựa vào các CPU tiêu chuẩn. Trên thực tế, phải vài năm nữa GPU mới bắt đầu xuất hiện trong các hệ thống mạnh nhất.

Vậy tại sao chúng không được sử dụng ngay lập tức, khi rõ ràng chúng mang lại tốc độ xử lý rất lớn?

Thứ nhất, siêu máy tính và các hệ thống tương tự cực kỳ tốn kém để thiết kế, xây dựng và vận hành. Trong nhiều năm, chúng đã được xây dựng xung quanh các dãy CPU khổng lồ, vì vậy việc tích hợp một bộ xử lý khác không phải là nỗ lực trong một sớm một chiều. Những hệ thống như vậy yêu cầu lập kế hoạch kỹ lưỡng và thử nghiệm quy mô nhỏ ban đầu trước khi tăng số lượng chip.

Thứ hai, để tất cả các thành phần này hoạt động hài hòa, đặc biệt là về phần mềm, là một kỳ công không nhỏ, vốn là một điểm yếu đáng kể đối với GPU vào thời điểm đó. Mặc dù chúng đã trở nên có khả năng lập trình cao, nhưng phần mềm trước đây dành cho chúng lại khá hạn chế.

HLSL của Microsoft (Higher Level Shader Language), thư viện Cg của Nvidia và GLSL của OpenGL giúp việc truy cập khả năng xử lý của chip đồ họa trở nên đơn giản, mặc dù hoàn toàn là để kết xuất.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Tất cả đã thay đổi với GPU kiến trúc đổ bóng hợp nhất. Vào năm 2006, ATI (lúc đó là công ty con của AMD) và Nvidia đã phát hành bộ công cụ phần mềm nhằm mục đích sử dụng sức mạnh này không chỉ cho đồ họa, với các API của họ được gọi là CTM (Close To Metal) và CUDA (Compute Unified Device Architecture), tương ứng.

Tuy nhiên, điều mà cộng đồng khoa học và xử lý dữ liệu thực sự cần là một gói toàn diện – một gói sẽ xử lý các mảng CPU và GPU khổng lồ (thường được gọi là nền tảng không đồng nhất) như một thực thể duy nhất bao gồm nhiều thiết bị điện toán.

Đọc thêm:  Hướng dẫn Công nghệ Trở lại Trường học 2018

Năm 2009, nhu cầu của họ đã được đáp ứng. Ban đầu được phát triển bởi Apple, OpenCL được phát hành bởi Khronos Group (đã hấp thụ OpenGL vài năm trước đó) để trở thành nền tảng phần mềm trên thực tế để sử dụng GPU bên ngoài đồ họa hàng ngày hoặc khi lĩnh vực này được biết đến bởi GPGPU (mục đích chung điện toán trên GPU, một thuật ngữ do Mark Harris đặt ra).

Không giống như thế giới rộng lớn của các bài đánh giá công nghệ, không có hàng trăm người đánh giá trên toàn cầu thử nghiệm các siêu máy tính cho các tuyên bố về hiệu suất được cho là của chúng. Tuy nhiên, một dự án đang được tiến hành bắt đầu vào đầu những năm 1990 bởi Đại học Mannheim ở Đức đang tìm cách thực hiện điều đó. Được gọi là TOP500, nhóm phát hành danh sách xếp hạng 10 siêu máy tính mạnh nhất thế giới hai lần một năm.

Các mục đầu tiên tự hào về GPU xuất hiện vào năm 2010, với hai hệ thống ở Trung Quốc – Nebulae và Tianhe-1. Họ đã sử dụng Tesla C2050 của Nvidia (về cơ bản là GeForce GTX 470, bên dưới) và thẻ Radeon HD 4870 của AMD tương ứng, với thẻ trước đây có mức cao nhất theo lý thuyết là 2.984 TFLOPS.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Trong những ngày đầu tiên của GPGPU cao cấp, Nvidia là nhà cung cấp được ưu tiên trang bị cho một gã khổng lồ điện toán, không phải vì hiệu suất – vì thẻ Radeon của AMD thường cung cấp mức hiệu suất xử lý cao hơn – mà do hỗ trợ phần mềm. CUDA đã trải qua quá trình phát triển nhanh chóng và phải mất vài năm nữa AMD mới có giải pháp thay thế phù hợp, khuyến khích người dùng sử dụng OpenCL để thay thế.

Tuy nhiên, Nvidia không hoàn toàn thống trị thị trường, vì bộ xử lý Xeon Phi của Intel đã cố gắng tạo ra một vị trí. Nổi lên từ một dự án GPU bị hủy bỏ có tên là Larrabee, những con chip khổng lồ này là sự kết hợp giữa CPU-GPU đặc biệt, bao gồm nhiều lõi giống như Pentium (phần CPU) được ghép nối với các đơn vị dấu phẩy động lớn (phần GPU).

Kiểm tra các bộ phận bên trong của Tesla C2050 cho thấy 14 khối được gọi là Bộ đa xử lý phát trực tuyến (SM), được chia cho bộ đệm và bộ điều khiển trung tâm. Mỗi cái bao gồm 32 bộ hai mạch logic (được Nvidia gắn nhãn là lõi CUDA) thực hiện tất cả các phép toán – một cho giá trị nguyên và cái còn lại cho số float. Trong trường hợp thứ hai, các lõi có thể quản lý một hoạt động FMA (Fused Multiply-Add) trên mỗi chu kỳ xung nhịp với độ chính xác đơn (32 bit); hoạt động chính xác kép (64-bit) yêu cầu ít nhất hai chu kỳ đồng hồ.

Các đơn vị dấu chấm động trong chip Xeon Phi (bên dưới) có vẻ hơi giống nhau, ngoại trừ mỗi lõi xử lý một nửa số giá trị dữ liệu so với các SM trong C2050. Tuy nhiên, vì có 32 lõi lặp lại so với 14 của Tesla, một bộ xử lý Xeon Phi duy nhất có thể xử lý nhiều giá trị hơn trên mỗi chu kỳ xung nhịp nói chung. Tuy nhiên, lần phát hành chip đầu tiên của Intel chỉ là một mẫu thử nghiệm và không thể phát huy hết tiềm năng của nó – sản phẩm của Nvidia chạy nhanh hơn, tiêu thụ ít năng lượng hơn và được chứng minh là một sản phẩm vượt trội.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Điều này sẽ trở thành một chủ đề lặp đi lặp lại trong cuộc chiến GPGPU ba bên giữa AMD, Intel và Nvidia. Một kiểu máy có thể sở hữu số lượng lõi xử lý vượt trội, trong khi kiểu máy khác có thể có tốc độ xung nhịp nhanh hơn hoặc hệ thống bộ đệm mạnh hơn.

CPU vẫn cần thiết cho tất cả các loại máy tính và nhiều siêu máy tính cũng như hệ thống máy tính cao cấp vẫn bao gồm bộ xử lý AMD hoặc Intel. Mặc dù một CPU đơn lẻ không thể cạnh tranh với hiệu suất SIMD của một GPU trung bình, nhưng khi được kết nối với nhau trong hàng nghìn CPU, chúng đã chứng minh là đủ. Tuy nhiên, các hệ thống như vậy thiếu hiệu quả năng lượng.

Ví dụ: cùng lúc với thẻ Radeon HD 4870 đang được sử dụng trong Tianhe-1, CPU máy chủ lớn nhất của AMD (12 nhân Opteron 6176 SE) đang chạy thử nghiệm. Đối với mức tiêu thụ điện năng khoảng 140 W, về mặt lý thuyết, CPU có thể đạt 220 GFLOPS, trong khi GPU nói trên cung cấp mức cao nhất là 1.200 GFLOPS chỉ với 10 W nhiều hơn và với một phần nhỏ chi phí.

Đọc thêm:  Phím tắt Extravaganza: Windows, Mac, Chrome, Firefox, Android, iPhone và hơn thế nữa!

Đến năm 2013, không chỉ các siêu máy tính trên thế giới tận dụng khả năng của GPU để thực hiện các phép tính song song hàng loạt . Nvidia đang tích cực quảng bá nền tảng GRID, một dịch vụ ảo hóa GPU, cho các ứng dụng khoa học và ứng dụng khác. Ban đầu được ra mắt như một hệ thống để lưu trữ trò chơi dựa trên đám mây, nhu cầu ngày càng tăng đối với GPGPU quy mô lớn, giá cả phải chăng đã khiến quá trình chuyển đổi này trở nên tất yếu. Tại hội nghị công nghệ hàng năm, GRID đã được giới thiệu như một công cụ quan trọng dành cho các kỹ sư trong nhiều lĩnh vực khác nhau.

Trong cùng một sự kiện, công ty GPU đã cung cấp một cái nhìn thoáng qua về một kiến trúc tương lai, có tên mã là Volta. Tuy nhiên, một số chi tiết đã được tiết lộ và giả định chung là đây sẽ là một con chip khác phục vụ trên tất cả các thị trường của Nvidia.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Trong khi đó, AMD cũng đang làm điều tương tự, sử dụng thiết kế Graphics Core Next (GCN) được cập nhật thường xuyên trong dòng Radeon tập trung vào chơi game, cũng như các thẻ dựa trên máy chủ FirePro và Radeon Sky. Vào thời điểm đó, các số liệu về hiệu suất thật đáng kinh ngạc – FirePro W9100 có thông lượng FP32 (điểm nổi 32 bit) cao nhất là 5,2 TFLOPS, một con số không thể tưởng tượng được đối với một siêu máy tính chưa đầy hai thập kỷ trước đó.

Tất nhiên, GPU vẫn được thiết kế chủ yếu cho đồ họa 3D, nhưng những tiến bộ trong công nghệ kết xuất có nghĩa là những con chip này phải ngày càng thành thạo trong việc xử lý khối lượng công việc tính toán chung. Vấn đề duy nhất là khả năng hạn chế của chúng đối với toán học dấu phẩy động có độ chính xác cao, tức là FP64 hoặc cao hơn. Nhìn vào các siêu máy tính hàng đầu năm 2015 cho thấy một số lượng tương đối nhỏ sử dụng GPU, Xeon Phi của Intel hoặc Tesla của Nvidia, so với những siêu máy tính hoàn toàn dựa trên CPU.

Tất cả đã thay đổi khi Nvidia ra mắt kiến trúc Pascal vào năm 2016. Đây là bước đột phá đầu tiên của công ty trong việc thiết kế GPU dành riêng cho thị trường điện toán hiệu năng cao, trong khi các GPU khác được sử dụng trên nhiều lĩnh vực. Chỉ một trong số những con trước đây từng được sản xuất (GP100) và nó chỉ sinh ra 5 sản phẩm, nhưng trong khi tất cả các kiến trúc trước đó chỉ có một số ít lõi FP64, thì con chip này chứa gần 2.000 lõi.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Với Tesla P100 cung cấp hơn 9 TFLOPS xử lý FP32 và một nửa con số đó cho FP64, nó thực sự mạnh mẽ. Radeon Pro W9100 của AMD, sử dụng chip Vega 10, nhanh hơn 30% trong FP32 nhưng chậm hơn 800% trong FP64. Vào thời điểm này, Intel đang trên bờ vực ngừng sản xuất dòng Xeon Phi do doanh số bán hàng kém.

Một năm sau, Nvidia cuối cùng đã phát hành Volta, cho thấy ngay rằng công ty không chỉ quan tâm đến việc giới thiệu GPU của mình cho thị trường xử lý dữ liệu và HPC – mà còn nhắm đến một thị trường khác.

Học sâu là một lĩnh vực trong một tập hợp các nguyên tắc rộng hơn được gọi chung là Học máy, bản thân nó là một tập hợp con của Trí tuệ nhân tạo. Nó liên quan đến việc sử dụng các mô hình toán học phức tạp được gọi là mạng thần kinh trích xuất thông tin từ dữ liệu nhất định, chẳng hạn như xác định xác suất một hình ảnh được trình bày mô tả một con vật cụ thể. Để làm điều này, mô hình cần phải được ‘đào tạo’ – trong ví dụ này, đã hiển thị hàng triệu hình ảnh về con vật đó, cùng với hàng triệu hình ảnh khác không hiển thị con vật.

Toán học liên quan bắt nguồn từ các phép tính ma trận và tensor. Trong nhiều thập kỷ, khối lượng công việc như vậy chỉ phù hợp với các siêu máy tính dựa trên CPU lớn. Tuy nhiên, ngay từ những năm 2000, rõ ràng là GPU phù hợp lý tưởng cho các tác vụ như vậy.

Đọc thêm:  Bạn có nên cảnh giác với tất cả các trò chơi miễn phí?

Tuy nhiên, Nvidia đã đánh cược vào việc mở rộng đáng kể thị trường học sâu và thêm một tính năng bổ sung vào kiến trúc Volta của mình để làm cho nó nổi bật trong lĩnh vực này. Được tiếp thị dưới dạng lõi tensor, đây là các dãy đơn vị logic FP16, hoạt động cùng nhau như một mảng lớn, nhưng với khả năng rất hạn chế.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Trên thực tế, hạn chế đến mức chúng chỉ thực hiện một chức năng – nhân hai ma trận FP16 4×4 với nhau rồi thêm một ma trận FP16 hoặc FP32 4×4 khác vào kết quả đó (một quy trình được gọi là phép toán GEMM). Các GPU trước đây của Nvidia, cũng như của các đối thủ cạnh tranh, cũng có thể thực hiện các phép tính như vậy nhưng không nơi nào nhanh bằng Volta. GPU duy nhất được tạo bằng kiến trúc này, GV100, chứa tổng cộng 512 lõi tensor, mỗi lõi có khả năng thực hiện 64 GEMM trên mỗi chu kỳ xung nhịp.

Tùy thuộc vào kích thước của ma trận trong tập dữ liệu và kích thước dấu phẩy động được sử dụng, thẻ Tesla V100 về mặt lý thuyết có thể đạt tới 125 TFLOPS trong các phép tính tensor này. Volta rõ ràng được thiết kế cho một thị trường ngách, nhưng khi GP100 xâm nhập hạn chế vào lĩnh vực siêu máy tính, các mẫu Tesla mới đã nhanh chóng được chấp nhận.

Những người đam mê chơi game trên PC sẽ biết rằng Nvidia sau đó đã thêm các lõi tensor vào các sản phẩm tiêu dùng chung của mình trong kiến trúc Turing tiếp theo và phát triển một công nghệ nâng cấp có tên Deep Learning Super Sampling (DLSS). Phiên bản mới nhất sử dụng các lõi trong GPU để chạy mạng nơ-ron trên hình ảnh nâng cấp, sửa chữa mọi thành phần giả trong khung hình.

Trong một thời gian ngắn, Nvidia đã có thị trường deep learning được GPU tăng tốc cho riêng mình và bộ phận trung tâm dữ liệu của họ đã chứng kiến doanh thu tăng vọt – với tốc độ tăng trưởng 145% trong năm 2017, 133% trong năm 2018 và 52% trong năm 2019. Tính đến cuối năm 2019, doanh thu của HPC, học sâu và các dịch vụ khác đạt tổng cộng 2,9 tỷ USD.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Tuy nhiên, ở đâu có tiền, cạnh tranh là không thể tránh khỏi. Vào năm 2018, Google đã bắt đầu cung cấp quyền truy cập vào các chip xử lý tensor do chính họ phát triển thông qua một dịch vụ đám mây. Amazon nhanh chóng làm theo với CPU chuyên dụng của mình, AWS Graviton. Trong khi đó, AMD đang tái cấu trúc bộ phận GPU của mình, tạo thành hai dòng sản phẩm riêng biệt: một dòng chủ yếu dành cho chơi game (RDNA) và dòng còn lại dành riêng cho điện toán (CDNA).

Mặc dù RDNA khác biệt đáng kể so với người tiền nhiệm của nó, nhưng CDNA gần như là một sự phát triển tự nhiên của GCN, mặc dù nó đã được mở rộng đến một mức độ rất lớn. Nhìn vào GPU ngày nay cho siêu máy tính, máy chủ dữ liệu và máy AI, mọi thứ đều rất lớn.

MI250X chạy bằng CDNA 2 của AMD có 220 Đơn vị Điện toán, cung cấp dưới 48 TFLOPS thông lượng FP64 có độ chính xác kép và 128 GB Bộ nhớ Băng thông Cao (HBM2e), với cả hai khía cạnh đều được tìm kiếm nhiều trong các ứng dụng HPC. Chip GH100 của Nvidia, sử dụng kiến trúc Hopper và 576 Lõi Tensor, có khả năng đạt 4000 TOPS, với định dạng số INT8 có độ chính xác thấp trong tính toán ma trận AI.

GPU Ponte Vecchio của Intel cũng khổng lồ không kém, với 100 tỷ bóng bán dẫn và MI300 sắp ra mắt của AMD có thêm 46 tỷ bóng bán dẫn, bao gồm nhiều chiplet CPU, đồ họa và bộ nhớ.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Tuy nhiên, có một điều mà tất cả chúng đều chia sẻ là thứ mà chúng dứt khoát không phải – chúng không phải là GPU. Rất lâu trước khi Nvidia sử dụng thuật ngữ này như một công cụ tiếp thị, từ viết tắt của Đơn vị xử lý đồ họa. MI250X của AMD không có bất kỳ đơn vị đầu ra kết xuất (ROP) nào và thậm chí GH100 chỉ sở hữu hiệu suất Direct3D tương tự như GeForce GTX 1050, khiến chữ ‘G’ trong GPU không liên quan.

Vì vậy, chúng ta có thể gọi chúng là gì? “GPGPU” không phải là lý tưởng, vì nó là một cụm từ vụng về đề cập đến việc sử dụng GPU trong điện toán tổng quát, chứ không phải bản thân thiết bị. “HPCU” (Đơn vị tính toán hiệu năng cao) cũng không khá hơn là bao. Nhưng có lẽ nó không thực sự quan trọng. Xét cho cùng, thuật ngữ “CPU” cực kỳ rộng và bao gồm nhiều loại bộ xử lý và mục đích sử dụng khác nhau.

Đọc thêm:  Tạo CPU chơi game Quad-Core nhanh

Với hàng tỷ đô la đầu tư vào nghiên cứu và phát triển GPU của AMD, Intel, Nvidia và hàng chục công ty khác, bộ xử lý đồ họa ngày nay sẽ không sớm bị thay thế bởi bất kỳ thứ gì khác biệt đáng kể. Để kết xuất, các API và gói phần mềm mới nhất sử dụng chúng (chẳng hạn như công cụ trò chơi và ứng dụng CAD) thường không phụ thuộc vào phần cứng chạy mã, vì vậy về lý thuyết, chúng có thể được điều chỉnh cho phù hợp với một thứ hoàn toàn mới.

Tuy nhiên, có tương đối ít thành phần trong GPU chỉ dành riêng cho đồ họa – công cụ thiết lập tam giác và ROP là những thành phần rõ ràng nhất và các đơn vị dò tia trong các bản phát hành gần đây cũng được chuyên môn hóa cao. Tuy nhiên, phần còn lại về cơ bản là một chip SIMD song song khổng lồ, được hỗ trợ bởi một hệ thống bộ nhớ/cache phức tạp và mạnh mẽ.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Các thiết kế cơ bản gần như tốt nhất có thể và bất kỳ cải tiến nào trong tương lai chỉ đơn giản là gắn liền với những tiến bộ trong kỹ thuật chế tạo chất bán dẫn. Nói cách khác, chúng chỉ có thể cải thiện bằng cách chứa nhiều đơn vị logic hơn, chạy ở tốc độ xung nhịp cao hơn hoặc kết hợp cả hai.

Tất nhiên, chúng có thể có các tính năng mới được tích hợp để cho phép chúng hoạt động trong nhiều tình huống hơn. Điều này đã xảy ra vài lần trong suốt lịch sử của GPU, mặc dù quá trình chuyển đổi sang kiến trúc đổ bóng thống nhất là đặc biệt quan trọng. Mặc dù tốt hơn là nên có phần cứng chuyên dụng để xử lý các phép tính tensor hoặc dò tia, nhưng lõi của GPU hiện đại có khả năng quản lý tất cả, mặc dù ở tốc độ chậm hơn.

Đây là lý do tại sao những sản phẩm như MI250 và GH100 có sự tương đồng mạnh mẽ với các đối tác máy tính để bàn của chúng và các thiết kế trong tương lai dành cho sử dụng trong HPC và AI có thể sẽ đi theo xu hướng này. Vì vậy, nếu bản thân các con chip không thay đổi đáng kể, thì ứng dụng của chúng thì sao?

Cho rằng mọi thứ liên quan đến AI về cơ bản là một nhánh tính toán, GPU có thể được sử dụng bất cứ khi nào có nhu cầu thực hiện vô số phép tính SIMD. Mặc dù không có nhiều lĩnh vực khoa học và kỹ thuật mà các bộ xử lý như vậy chưa được sử dụng, nhưng những gì chúng ta có thể thấy là sự gia tăng trong việc sử dụng các dẫn xuất GPU.

svg+xml,%3Csvg%20xmlns= Tạm biệt đồ họa: Cách GPU thống trị AI và điện toán

Hiện tại, người ta có thể mua điện thoại được trang bị chip thu nhỏ có chức năng duy nhất là tăng tốc tính toán tensor. Khi các công cụ như ChatGPT tiếp tục phát triển mạnh mẽ và phổ biến, chúng ta sẽ thấy nhiều thiết bị hơn có phần cứng như vậy.

GPU khiêm tốn đã phát triển từ một thiết bị chỉ nhằm mục đích chạy trò chơi nhanh hơn khả năng của một mình CPU, thành một máy gia tốc vạn năng, cung cấp năng lượng cho các máy trạm, máy chủ và siêu máy tính trên toàn cầu.

GPU khiêm tốn đã phát triển từ một thiết bị chỉ nhằm mục đích chạy trò chơi nhanh hơn khả năng của một mình CPU, thành một máy gia tốc vạn năng, cung cấp năng lượng cho các máy trạm, máy chủ và siêu máy tính trên toàn cầu. Hàng triệu người trên toàn thế giới sử dụng một thiết bị mỗi ngày – không chỉ trong máy tính, điện thoại, TV và thiết bị phát trực tuyến của chúng ta mà còn khi chúng ta sử dụng các dịch vụ kết hợp nhận dạng giọng nói và hình ảnh hoặc cung cấp đề xuất âm nhạc và video.

Điều gì thực sự tiếp theo đối với GPU có thể là lãnh thổ chưa được khám phá, nhưng có một điều chắc chắn là bộ xử lý đồ họa sẽ tiếp tục là công cụ thống trị cho điện toán và AI trong nhiều thập kỷ tới.