#python #gpu #google-colaboratory
#питон #графический процессор #google-совместная лаборатория
Вопрос:
Я делаю свои вычисления в Google Colab. Я изменил тип среды выполнения на GPU. Однако я не вижу заметного изменения во времени, которое требуется для выполнения кода при использовании графического процессора.
Мой вопрос в том, должны ли мы писать код определенным образом, чтобы использовать возможности распараллеливания графического процессора?
Я не делаю ничего особенного. Я не извлекаю никаких данных с диска или любого другого места, что, по-видимому, занимает много времени.
Комментарии:
1. Используете ли вы какие-либо библиотеки, которые действительно могут использовать графический процессор, например, TensorFlow или что-то еще?
2. Да, я использую TensorFlow. Хотя я рассчитал время выполнения различных частей моего кода, и части, которые занимают значительно больше времени, чем остальные, не имеют ничего общего с TensorFlow
Ответ №1:
Вы пробовали запускать свой код с профилем, чтобы измерить, какие части потребляют время выполнения?
Магия %prun
ячеек делает это довольно простым. Вот пример:
Воспроизведение кода здесь:
def sum_of_lists(N):
total = 0
for i in range(5):
L = [j ^ (j >> i) for j in range(N)]
total = sum(L)
return total
Затем, чтобы собрать пример профиля времени выполнения,
%prun sum_of_lists(1000000)
Комментарии:
1. Я регистрировал time.time() в разных точках моего кода и измерял разницу между последовательными записями time.time(). Части, занимающие больше всего времени, являются вложенными циклами for.
2. @DarthCavader если это узкое место, а не ваш графический процессор, похоже, вам нужно оптимизировать или заменить ваши
for
циклы.