Отчет о ходе выполнения функции CUDA в Python (Numba)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отчет о ходе выполнения функции CUDA в Python (Numba)

Сообщение Anonymous »

У меня есть давно работающая функция 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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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