ID Artikel: 000073934 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 02/10/2019

Mengapa Intel® FPGA SDK untuk kompiler OpenCL™ menggantung dan tidak pernah berakhir dengan kernel NDRange yang berisi aliran kontrol yang bergantung pada thread atau operasi saluran?

Lingkungan

  • Intel® Quartus® Prime Edisi Pro
  • Intel® FPGA SDK untuk OpenCL™ Edisi Pro
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Deskripsi

    Intel® FPGA SDK untuk kompilator OpenCL™ memberikan jaminan bahwa pernyataan dalam kernel NDRange dijalankan oleh thread dalam urutan pengidentifikasi thread. Untuk memastikan garansi terpenuhi dalam program yang berisi aliran kontrol yang bergantung pada thread, penghambat pemesanan ulang dimasukkan oleh pengkompilasi di titik gabungan jalur aliran kontrol yang bergantung pada thread. Kesalahan dalam konfigurasi hambatan tersebut menyebabkan komputasi terhalang di penghalang tanpa kemungkinan kemajuan ke depan.

    Operasi saluran juga dapat menyebabkan kios ini.

    Ditunjukkan di bawah ini adalah contoh "thread-dependent control-flow construct":

       
    Dapatkan ID thread global

    int id = get_global_id(0);

    Pastikan kami tidak keluar dari batas

    jika (id < n)

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

     

    Di sini, pernyataan jika adalah konstruksi aliran kontrol yang bergantung pada thread, yaitu apa yang dilakukannya tergantung pada thread yang mengeksekusinya.

    Resolusi

    Tulis ulang kernel NDRange agar tidak berisi operasi saluran atau konstruksi aliran kontrol yang bergantung pada thread.

     

    Masalah ini dijadwalkan akan diperbaiki pada versi Intel® FPGA SDK untuk perangkat lunak OpenCL di masa mendatang.

    Produk Terkait

    Artikel ini berlaku untuk 1 produk

    Perangkat yang Dapat Diprogram Intel®

    Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.