Есть ли способ объявить массив, такой как:
int arraySize = 10;
int array[arraySize];
внутри ядра / функции CUDA?В другом посте я прочитал, что я могу объявить размер разделяемой памяти в вызове ядра, и тогда я смогу сделать:
int array[];
Но я не могу этого сделать.Я получаю ошибку компиляции: «неполный тип не допускается».Кроме того, я также прочитал, что printf () может быть вызван из потока, и это также выдает ошибку: «Невозможно вызвать функцию хоста из устройства / глобальной функции».
Могу ли я что-нибудь сделать для создания массива переменного размера или эквивалентного в CUDA?У меня есть вычислительная способность 1.1, это как-то связано с этим?Могу ли я обойти объявления массива переменного размера из потока, определив typedef struct
, который имеет переменную размера, которую я могу установить?Решения для вычислительных возможностей помимо 1.1 приветствуются.Это для командного проекта класса, и если есть хоть какой-то способ сделать это, я могу хотя бы представить эту информацию.