Как реализовать переработку памяти графического процессора в CUDA C++ для потоковой передачи данных в TensorFlow?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать переработку памяти графического процессора в CUDA C++ для потоковой передачи данных в TensorFlow?

Сообщение Anonymous »

Мне нужно определиться со спецификацией проекта для моего курса HPC, который включает оптимизацию использования памяти графического процессора в контексте потоковой передачи данных. В частности, я стремлюсь реализовать механизм повторного использования выделенной памяти на графическом процессоре для повышения эффективности при обработке потока входных данных.
Я рассматривал TensorFlow в качестве платформы для этой задачи, потому что о встроенной поддержке операторов графического процессора, и мне было интересно, включает ли API TensorFlow функции для моделирования или обработки потоковой передачи. Однако я не уверен, как подойти к проблеме повторного использования памяти в этом контексте.
Вот мои конкретные вопросы:
  • Переработка памяти в TensorFlow. Есть ли в TensorFlow встроенные инструменты или шаблоны для переработки памяти графического процессора во время непрерывной обработки данных, или мне нужно будет реализовать собственные решения? Целью моего проекта является реализация кода CUDA C++, поэтому меня особенно интересует, нет ли в TensorFlow решения для обработки повторного использования памяти графического процессора в контекстах, где входными данными является поток данных (например, разреженные матрицы или другие структуры данных, размеры которых значительны). влияние на производительность).
  • Пользовательские операторы графического процессора. Если мне нужно создать собственные операторы графического процессора для более эффективного управления памятью, как мне следует подойти к этому в TensorFlow? Существуют ли ресурсы или примеры для реализации таких пользовательских операторов?
  • Профилирование использования памяти. Каковы наилучшие методы профилирования и мониторинга использования памяти графического процессора в TensorFlow и CUDA? особенно при работе с потоками данных? Цель состоит в том, чтобы оптимизировать использование памяти графического процессора и минимизировать влияние узкого места передачи PCIe. Я рассматриваю возможность использования nvprof и его графической версии для профилирования выполнения CUDA.
  • Потоковая передача в TensorFlow: предоставляет ли TensorFlow API для обработки потоковый ввод данных? или, возможно, инструменты для эмуляции такого поведения?
Если TensorFlow не лучший выбор для проекта такого типа, я также был бы признателен за предложения по альтернативным фреймворкам или инструменты, которые могут лучше подходить для управления памятью графического процессора в контексте потоковой передачи.
Чтобы обеспечить некоторый контекст, этот проект уже реализован в библиотеке WindFlow. Мы с профессором обсуждали возможность реализации этой функции в другом инструменте потоковой передачи, таком как Flink, но Flink не поддерживает «операторов» графического процессора. В результате масштаб проекта, идущего по этому пути, может стать слишком большим для экзамена стоимостью всего 9 КОЕ
Заранее прошу прощения, если мой вопрос покажется несколько расплывчатым; В настоящее время я прохожу фазу, наполненную двусмысленностью и множеством потенциальных направлений.
Любые рекомендации, ссылки или примеры кода для начала работы будут очень признательны!
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... n-tensorfl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»