我正在尝试构建 MatX 并将其安装到我的 Linux 机器上。
我正在按照此处找到的说明进行操作。
除了当我运行
make -j
命令时,我得到以下跟踪:
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(349): error: initializer not allowed for __shared__ variable
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(349): error: initializer not allowed for __shared__ variable
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(349): error: initializer not allowed for __shared__ variable
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(349): error: initializer not allowed for __shared__ variable
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(349): error: initializer not allowed for __shared__ variable
/home/<me>/Documents/MatX/include/matx/kernels/channelize_poly.cuh(64): error: initializer not allowed for __shared__ variable
这很奇怪,因为如果您查看
channelize_poly.cuh
中的违规行(请参阅来源此处),您会看到:
// Lines 63 & 64
const int SMEM_MAX_FILTER_TAPS = 128;
__shared__ filter_t smem_filter[SMEM_MAX_FILTER_TAPS];
// Lines 348 & 349
// Pre-compute the DFT complex exponentials and store in shared memory
__shared__ output_t smem_eij[NUM_CHAN][NUM_CHAN];
即没有假设的共享变量的初始化。
我正在使用的软件:
所以这是一个已知问题。我为此在 GH 上发布了一个问题;请参阅此处。修复似乎正在进行中。