Найти в Дзене
106 подписчиков

🖥 Ускорение Python на графических процессорах с помощью nvc++ и Cython


Стандартная библиотека C++ содержит богатую коллекцию контейнеров, итераторов и алгоритмов, которые можно составить для получения элегантных решений сложных проблем. Что наиболее важно, они быстрые, что делает C++ привлекательным выбором для написания высокопроизводительного кода.

NVIDIA недавно представила stdpar: способ автоматического ускорения выполнения алгоритмов стандартной библиотеки C++ на графических процессорах с помощью компилятора nvc++. Это означает, что программы на C++, использующие стандартные библиотечные контейнеры и алгоритмы, теперь могут работать еще быстрее.

В этом посте я исследую способ внедрения алгоритмов C++ с ускорением на GPU в экосистему Python. Я использую Cython как способ вызвать C++ из Python и показать вам, как создавать код Cython с помощью nvc++. Я представляю два примера: простую задачу по сортировке последовательности чисел и более сложное реальное приложение, метод Якоби. В обоих случаях вы увидите впечатляющий прирост производительности по сравнению с традиционным подходом к использованию NumPy. Наконец, я обсуждаю некоторые текущие ограничения и следующие шаги.


🖥 Ускорение Python на графических процессорах с помощью nvc++ и Cython  Стандартная библиотека C++ содержит богатую коллекцию контейнеров, итераторов и алгоритмов, которые можно составить для...
1 минута