2015-07-23 12 views

ответ

3

Существует регистр %warpid, и нетрудно написать функцию, которая обращается к ней через встроенную сборку.

Однако чрезвычайно необычно, что вы когда-либо захотите его использовать; например

  • нити не «остаться» и изменить который деформируется они работают на протяжении времени
  • это не глобально уникальный идентификатор

, что делает его возможные случаи использования крайне ограничены. Процитировать документацию:

... Идентификатор warp предоставляет уникальный номер деформации внутри CTA, но не через CTA в сетке. ...

Отметьте, что %warpid является изменчивым и возвращает местоположение потока в момент его считывания, но его значение может меняться во время выполнения, ... %warpid предназначен, главным образом, для того, чтобы код профилирования и диагностики использовался для выборки и регистрации таких как отображение рабочих мест и распределение нагрузки.

+1

«нити не« остаются на месте »и изменят, с какой деформацией они работают со временем». У вас есть ссылка на это? Номер и номер полосы AFAIK фиксируются на срок службы нити – talonmies

+0

@talonmies: Да: документация PTX ISA, как указано. – Hurkyl

+0

Для моей собственной цели, использующей симулятор GPGPU-Sim, я уверен, что идентификатор warp остается неизменным для жизни потока. –