Nano Hash - криптовалюты, майнинг, программирование

Филиал на основе WARP ID

Есть ли способ найти идентификатор WARP потока в CUDA? Я хочу выполнить ветку на основе идентификатора WARP.

23.07.2015

Ответы:


1

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

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

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

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

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

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

23.07.2015
  • потоки не остаются на месте и со временем изменят деформацию, на которой они работают. У вас есть ссылка на это? Номер деформации AFAIK и номер дорожки фиксируются на весь срок службы потока. 23.07.2015
  • @talonmies: Да: документация PTX ISA, как указано. 23.07.2015
  • Для моей собственной цели, которая использует симулятор GPGPU-Sim, я уверен, что идентификатор деформации остается неизменным на протяжении всей жизни потока. 24.07.2015
  • @Hurkyl: Да, но это не означает, что потоки не остаются на месте и со временем изменят деформацию, на которой они работают. Это означает, что значение CTA %warpid, присвоенное данной деформации, является временным. Но поток (и его 31 сосед) остаются в одном и том же варпе на протяжении всей своей жизни. Что вы не указали, так это текст, следующий за ним, в котором говорится, что вы можете использовать %ctaid и %tid для расчета уникального номера деформации. 24.07.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..