ID bài viết: 000073934 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 02/10/2019

Tại sao SDK Intel® FPGA mềm dành cho trình biên dịch OpenCL™ bị treo và không bao giờ chấm dứt bằng các nhân NDRange có chứa luồng điều khiển hoặc hoạt động kênh phụ thuộc vào luồng?

Môi Trường

  • Intel® Quartus® Prime Phiên bản Pro
  • SDK FPGA Intel® cho OpenCL™
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    SDK Intel® FPGA của trình biên dịch OpenCL™ cung cấp một bảo đảm rằng các tuyên bố trong hạt nhân NDRange được thực hiện bởi các luồng theo thứ tự mã định danh luồng của chúng. Để đảm bảo bảo được đáp ứng trong các chương trình có chứa luồng điều khiển phụ thuộc vào luồng, trình biên dịch chèn một rào cản đặt hàng lại tại điểm kết hợp của đường dẫn luồng điều khiển phụ thuộc vào luồng. Một lỗi trong cấu hình của các rào cản như vậy khiến cho quá trình tính toán bị đình trệ tại rào cản mà không có khả năng tiến triển về phía trước.

    Các hoạt động của kênh cũng có thể gây ảnh hướng đến vấn đề này.

    Dưới đây là một ví dụ về "cấu trúc luồng điều khiển phụ thuộc vào luồng":

       
    Nhận ID luồng toàn cầu

    id int = get_global_id(0);

    Hãy chắc chắn rằng chúng tôi không đi hết giới hạn

    nếu (id < n)

    c[id] = a[id] b[id];

     

    Ở đây, tuyên bố nếu tuyên bố là cấu trúc luồng điều khiển phụ thuộc vào luồng, nghĩa là những gì nó phụ thuộc vào luồng nào thực thi nó.

    Độ phân giải

    Ghi lại nhân NDRange để không chứa bất kỳ hoạt động kênh hoặc cấu tạo luồng điều khiển phụ thuộc vào luồng nào.

     

    Sự cố này được lên lịch sẽ được khắc phục trong phiên bản tương lai của Intel® FPGA SDK cho phần mềm OpenCL.

    Các sản phẩm liên quan

    Bài viết này áp dụng cho 1 sản phẩm

    Thiết bị có thể lập trình Intel®

    Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.