PanCSF, trình điều khiển Linux mới cho GPU Mali của Collabora

PanCSF

PanCSF: trình điều khiển DRM mới cho GPU dựa trên Mali CSF

Vài ngày trước Collabora trình bày buổi ra mắt người điều khiển PanCSF DRM (Direct Rendering Manager), hoạt động ở cấp nhân Linux.

Người điều khiển PanCSF DRM được thiết kế để sử dụng với GPU Mali (G710+) thuộc thế hệ thứ mười, sử dụng công nghệ CSF (Command Stream Frontend), mang đến một số chức năng trình điều khiển bên cạnh phần sụn để giảm tải cho CPU và cung cấp một mô hình mới để tổ chức công việc trên GPU.

Như định mệnh đã sắp đặt, một trình điều khiển DRM mới cho các GPU Mali gần đây đã được công bố vào đầu tháng này. Điều này hơi lạ trong thế giới của hệ thống con DRM, nơi hỗ trợ cho phần cứng mới thường được thêm vào trình điều khiển GPU hỗ trợ các thế hệ phần cứng cũ hơn.

Giới thiệu về trình điều khiển PanCSF DRM

Ban đầu, đã cố triển khai hỗ trợ cho GPU Mali dựa trên CSF trong trình điều khiển Panfrost, nhưng các nhà phát triển đã đi đến kết luận rằng điều này sẽ dẫn đến sự phức tạp lớn của trình điều khiển hiện có và CSF sẽ tối ưu hơn nếu tạo một trình điều khiển mới được tạo với kiến ​​trúc khác.

Trình điều khiển PanCSF mới được đề xuất để thử nghiệm triển khai một uAPI hoàn toàn mới, logic lập lịch tác vụ mới và logic điều khiển MMU/GPU-VA mới. Mã Panfrost hiện tại được sử dụng làm cơ sở cho bộ điều khiển mới.

Và đó là trong thế hệ GPU Mali mới, Trình lập lịch Trình quản lý công việc được thay thế bằng giao diện CSF (Giao diện luồng lệnh), sử dụng mô hình dựa trên luồng lệnh với lập lịch hàng đợi luồng lệnh ở phía phần sụn thay vì mô hình dựa trên luồng công việc.

Chúng tôi sẽ không mô tả chi tiết về cách thức hoạt động của CSF, nhưng điều đáng chú ý là giao diện CSF có một bộ hướng dẫn chuyên dụng và một loạt các thanh ghi để truyền dữ liệu hoặc duy trì trạng thái bên trong. Có các hướng dẫn để gửi công việc (công việc tính toán, khảm và chunk) và các hướng dẫn khác để thực hiện những việc nhỏ nhặt hơn, như bộ nhớ đọc/ghi, chờ công việc hoàn thành, chờ hàng rào, nhảy/nhánh…

Nó được đề cập rằng để tổ chức công việc của lập trình viên, một bộ vi điều khiển Cortex-M7 được tích hợp riêng biệt trên GPU và một đơn vị thực thi lệnh đặc biệt được cung cấp để thực hiện các lệnh CSF. Các tính năng như vậy yêu cầu một tổ chức khác về cơ bản để chuyển công việc sang GPU từ không gian người dùng.

Người điều khiển PanCSF mượn các mẫu khởi tạo bộ điều khiển điển hình, quản lý tần số và quản lý năng lượng, có thể sẽ thay đổi khi một số tính năng quản lý năng lượng trên GPU Mali mới được chuyển sang chương trình cơ sở.

Nếu CSF chỉ đơn giản là tránh xa cách tiếp cận gửi công việc dựa trên bộ mô tả, thì chúng ta có thể thực hiện với số lượng thay đổi nhân tối thiểu và loại bỏ sự hỗ trợ của CSF cho trình điều khiển nhân hiện có.

Điều đáng chú ý là đối với những người không quen thuộc với API đồ họa, cần nhớ rằng Vulkan cố gắng trả lại quyền kiểm soát cho người dùng bằng cách làm cho phần lớn việc quản lý đường ống đồ họa trở nên rõ ràng, trong khi OpenGL cố gắng che giấu mọi thứ đối với người dùng của nó để làm cho cuộc sống của họ dễ dàng hơn.

Cuối cùng, nó được đề cập rằng nhà phát triển tương lai lưu ý rằng RFC này, trong khi ít nhất là một phần chức năng (cho đến nay chỉ được thử nghiệm trên khối lượng công việc GLES2 cơ bản), vẫn chưa sẵn sàng và đề cập rằng Có những điều cần phải được giải quyết: chẳng hạn như cố gắng sử dụng drm_sched thay vì triển khai bộ lập lịch dựa trên chia sẻ thời gian, có cơ chế trục xuất đối tượng bộ đệm phù hợp để xử lý khéo léo các tình huống trong đó hệ thống chịu áp lực bộ nhớ.

Ngoài ra, nó được đề cập rằng hỗ trợ cho quản lý năng lượng hiện đang thiếu, chia tỷ lệ tần số thiết bị và có thể là các tính năng hữu ích khác như bộ đếm hiệu suất, nhưng chúng phải tương đối dễ thực hiện so với logic quản lý bộ nhớ và lập trình.

Cuối cùng nhưng không kém phần quan trọng, thay đổi dự kiến ​​​​sẽ được phát hành sớm để sử dụng trình điều khiển mới trong bảng.

Nếu bạn là muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.