Tiếp theo là gì đối với WebGPU

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

Ngày phát hành: 21 tháng 11 năm 2024

Thông số kỹ thuật WebGPU luôn phát triển, với các công ty lớn như Google, Mozilla, Apple, Intel và Microsoft họp hằng tuần để thảo luận về việc phát triển WebGPU. Cuộc họp gần đây nhất của nhóm làm việc về GPU cho Web đã cung cấp thông tin tổng quan về các mục tiêu và tính năng chính được lên kế hoạch cho lần lặp lại tiếp theo của WebGPU. Bài đăng trên blog này sẽ khám phá một số điểm chính rút ra được từ cuộc họp.

Đạt trạng thái đề xuất về đề xuất

Trọng tâm chính của cuộc họp là thảo luận về tiến trình của Cột mốc 0 và hoàn tất các vấn đề cần giải quyết trước khi có thể đạt được trạng thái đề xuất đề xuất cho W3C. Đây là bước tiếp theo trong quy trình chuẩn hoá, đồng thời đảm bảo độ ổn định và khả năng bảo vệ tài sản trí tuệ tốt hơn.

Những người tham gia cuộc họp đều đồng ý rằng không có vấn đề nào cản trở và các vấn đề này có thể được giải quyết kịp thời, mở đường cho đề xuất ứng cử viên W3C về WebGPU.

Ưu tiên các tính năng mới

Những người tham gia cuộc họp cũng ưu tiên các tính năng mới. Họ bắt đầu bằng một danh sách các yêu cầu về tính năng được biên soạn từ ý kiến phản hồi của nhà phát triển, người triển khai và các bên liên quan.

Một bảng trắng có danh sách các thuật ngữ liên quan đến API đồ hoạ máy tính được viết tay, bao gồm "Bindless", "Nhóm con", "MDI", "Push Constants", "UMA", "Subgroup Matrix" và các thuật ngữ khác.

Sau khi thảo luận, chúng tôi đã xác định được các tính năng WebGPU chính sau đây cho AI:

  • Nhóm con và ma trận nhóm con: Cho phép ứng dụng sử dụng tính năng giao tiếp cục bộ nhanh giữa các luồng GPU và tận dụng phần cứng nhân rộng ma trận có kích thước cố định bên cạnh các lõi chương trình đổ bóng. Xem đề xuất về nhóm con.

  • Vùng đệm texel: Cung cấp một cách hiệu quả hơn để lưu trữ và truy cập các loại dữ liệu nhỏ, chẳng hạn như giá trị 16 bit hoặc 8 bit, theo cách di động. Điều này rất quan trọng đối với một số thuật toán xử lý hình ảnh bằng máy học. Xem các trang trình bày về vùng đệm texel.

  • Ánh xạ bộ đệm UMA: Cải thiện hiệu suất tải dữ liệu lên bằng cách giảm hoặc loại bỏ các bản sao và hao tổn đồng bộ hoá. Xem vấn đề về thông số kỹ thuật 2388.

Chúng tôi cũng đang xem xét và ưu tiên các tính năng WebGPU sau đây để khai thác các loại thuật toán kết xuất mới:

  • Không liên kết: Đề xuất tính năng được mong đợi này là điều kiện tiên quyết cho hầu hết các thuật toán kết xuất tiên tiến vì chúng cần thông tin trên toàn cảnh. Bindless cho phép chương trình đổ bóng sử dụng số lượng tài nguyên không giới hạn, bao gồm cả hoạ tiết, so với các giới hạn tương đối nghiêm ngặt hiện tại.

  • Vẽ nhiều lần gián tiếp: Cho phép các phép tính trước đó trên GPU tạo nhiều lần vẽ thay vì chỉ một lần với drawIndirect trước đó. Đây là một chức năng quan trọng đối với hoạt động kết xuất do GPU điều khiển, chẳng hạn như việc loại bỏ đối tượng bằng GPU. Xem yêu cầu kéo 2315.

  • Nguyên tử 64 bit: Trong vùng đệm hoặc hoạ tiết, bạn cần thực hiện "quy trình quét điểm ảnh phần mềm" trên GPU bằng cách gộp thử nghiệm độ sâu và ghi tải trọng 32 bit trong một thao tác atomicMax. Xem vấn đề 4329.

Để nâng cao khả năng và khả năng tích hợp của WebGPU với nền tảng web rộng lớn hơn, chúng tôi đã thảo luận về các tính năng WebGPU sau:

  • Chế độ tương thích: Chế độ này nhằm cho phép WebGPU chạy trên nhiều thiết bị hơn, bao gồm cả những thiết bị chỉ hỗ trợ OpenGL ES 3.1. Xem đề xuất về chế độ tương thích.

  • WebXR: Cho phép mô-đun Lớp WebXR hiện có giao tiếp với WebGPU bằng cách cung cấp chuỗi hoán đổi WebGPU cho từng loại lớp. Xem các trang trình bày về Tích hợp WebGPU/WebXR.

  • Canvas2D: Tạo khả năng tương tác tốt hơn giữa Canvas 2D và WebGPU, giải quyết cả vấn đề về hiệu suất và công thái học. Đề xuất chuyển WebGPU này sẽ cho phép truy cập vào văn bản và vẽ đường dẫn trong WebGPU, đồng thời có thể áp dụng tính năng kết xuất WebGPU cho Canvas 2D.

Cuộc họp cũng có các bài trình bày và thảo luận về những nỗ lực nhằm cải thiện công cụ và thư viện WGSL. Một sáng kiến đáng chú ý là việc phát triển WESL (Ngôn ngữ đổ bóng mở rộng WGSL) nhằm cung cấp một bộ tiện ích do cộng đồng điều khiển cho WGSL.

Bạn có thể xem thêm thông tin trong ghi chú thô của cuộc họp.

Suy nghĩ

Cuộc họp này nhấn mạnh tầm quan trọng của việc cộng tác giữa nhóm làm việc WebGPU, nhà phát triển và cộng đồng đồ hoạ rộng lớn hơn trong việc định hình tương lai của WebGPU. Nhóm làm việc này đang tích cực tìm kiếm ý kiến phản hồi về các tính năng được đề xuất và cam kết hợp tác với các nhà phát triển để đảm bảo WebGPU đáp ứng nhu cầu của họ.

Các bước phát triển tiếp theo của WebGPU hứa hẹn sẽ là một bước tiến đáng kể, mở ra những khả năng mới cho đồ hoạ web và giúp nhà phát triển tạo ra trải nghiệm web sống động và hấp dẫn hơn nữa cho AI.