У меня есть давно работающая функция CUDA, и я хотел бы периодически сообщать о ее ходе.
Я пытаюсь использовать закрепленный массив вместе с потоками, как в https://towardsdatascience .com/cuda-by-numba-examples-7652412af1ee
Но даже если графический процессор загружен и значения необходимо изменить, сообщаемый прогресс всегда равен 0.import time
import numpy as np
from numba import cuda
import threading
@cuda.jit
def gpu_function(progress):
progress[0] = 17
for i in range(1000000000):
if i % 100000 == 0:
progress[0] = i // 1000
def monitor_progress(progress_gpu, progress_host, stream):
while True:
progress_gpu.copy_to_host(progress_host, stream=stream)
print(f"Progress: {progress_host[0]}")
time.sleep(1)
progress_host = np.zeros(1, dtype=np.int32)
with cuda.pinned(progress_host):
stream = cuda.stream()
progress_gpu = cuda.to_device(progress_host, stream=stream)
gpu_function[256, 1, stream](progress_gpu)
monitor_thread = threading.Thread(target=monitor_progress, args=(progress_gpu, progress_host, stream))
monitor_thread.start()
stream.synchronize()
Подробнее здесь: https://stackoverflow.com/questions/784 ... thon-numba
Отчет о ходе выполнения функции CUDA в Python (Numba) ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В функции numba замените cuda.popc() эквивалентом ЦП, если его нет в CUDA.
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
CUDA ON DEBIAN TRIXIE: версия драйвера CUDA недостаточно для версии времени выполнения CUDA
Anonymous » » в форуме Linux - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-