Что произойдет, если четыре конкурирующих приложения CUDA конкурируют за ресурсы в одном графическом процессоре , чтобы они могли разгружать работу на графическую карту ?. Руководство по программированию Cuda 3.1 упоминает, что определенные методы, которые являются асинхронными:Concurrency, 4 CUDA Приложения, конкурирующие за получение ресурсов графического процессора
- Ядро запускает копии памяти устройства
- устройства
- копии памяти хост-устройства из блока памяти 64 КБ или меньше
- копии памяти, выполняемые функции, которые суффиксом с асинхронным
- памяти набор вызовов функций
Также упоминается, что устройства с вычислительной способностью 2.0 могут выполнять несколько ядер одновременно, пока ядра принадлежат к одному и тому же контексту.
Этот тип параллелизма применяется только к потокам в рамках одного приложения cuda, но не возможно, когда существуют различные приложения, требующие ресурсов графического процессора?
Означает ли это, что одновременная поддержка доступна только в одном приложении (контексте ???) и что 4 приложения будут запускаться одновременно в том смысле, что методы могут перекрываться путем переключения контекста в CPU, но 4 приложениям нужно ждать, пока GPU будет освобожден другими приложениями? (например, запуск ядра с приложения 4 до тех пор, пока запуск ядра из приложения 1 не завершится ..)
Если это так, как эти 4 приложения могут обращаться к ресурсам графического процессора, не терпя долгое время ожидания?
привет Том. Я работаю над небольшим проектом cuda и ищу партнеров. есть ли у вас желание сотрудничать? сейчас я работаю над интеграцией ublas и cublas – Anycorn