ID Artikel: 000073897 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 23/01/2019

Mengapa stack dump terjadi selama kompilasi kernel OpenCL™ jika jumlah loop melebihi jumlah saluran yang dialokasikan?

Lingkungan

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

    Stack dump dapat terjadi selama kompilasi OpenCL™ jika loop berisi tulis ke saluran yang diindeks dan jumlah loop melebihi jumlah saluran yang dialokasikan. Lihat contoh kode di bawah ini.

    saluran char tanpa tanda tangan my_channel[16] __attribute__((depth(1024)));
    data char[32];

    ...
    untuk (karakter i = 0; i < 32; i ) {
    write_channel_intel(my_channel[i], data[i]);

    }

    Resolusi

    Pastikan bahwa jumlah loop tidak pernah melebihi jumlah saluran yang dialokasikan.

    #define num_channels 32

    saluran char tanpa tanda tangan my_channel[num_channels] __attribute__((depth(1024)));
    data char[num_channels];

    ...
    untuk (karakter i = 0; i < num_channels; i ) {
    write_channel_intel(my_channel[i], data[i]);

    }

    Masalah ini telah diperbaiki dimulai dengan versi 19.1 dari Intel® FPGA SDK untuk compiler OpenCL™.

    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.