Определенная польза от использования многомерной сетки. Различные записи (tid, ctaid) являются переменными только для чтения, видимыми как специальные регистры. См. PTX ISA
PTX включает в себя ряд предопределенных переменных только для чтения, которые видны как специальные регистры и доступны через команды mov или cvt. Специальные регистры:
%tid %ntid %laneid %warpid %nwarpid %ctaid %nctaid
Если некоторые из этих данных могут использоваться без дальнейшей обработки, вы можете получить не только арифметические инструкции, но и потенциально на каждом этапе индексирования многоразмерных данных , но что более важно, вы сохраняете регистры, которые являются очень скудным ресурсом для любого оборудования.
Финализатор необходим для удаления неуправляемых ресурсов. Обычно вам не нужно реализовывать финализатор, если вы не владеете неуправляемыми ресурсами.
Ваш финализатор пуст, и это вызывает проблему: финализатор - это особый метод, и компилятор хочет, чтобы вы делали что-то осмысленное и придерживалось спецификаций (то есть действительно должно освободить неуправляемые ресурсы). Пустой финализатор - это красный флаг для компилятора, потому что вы могли забыть его реализовать. Поскольку мы имеем дело с ресурсами, которые не могут быть автоматически освобождены, компилятор в этом случае является чрезвычайно безопасным.
Если ваш класс реализует IDisposable
, вы можете реализовать шаблон IDisposable
, как описано здесь MSDN .