Как стать автором
Обновить

Сравнение производительности GPU-расчетов на Python и C

Python *GPGPU *C *
Из песочницы

Python обладает рядом привлекательных преимуществ к которым относится простота реализации программных решений, наглядность и лаконичность кода, наличие большого числа библиотек и многочисленного активного комьюнити. В то же время, известная всем медлительность питона часто ограничивает его применимость для “тяжелых” вычислений. Для ряда задач можно добиться существенного ускорения расчетов путем использования технологии CUDA для параллельных вычислений на GPU. Цель этого небольшого исследования — анализ возможностей эффективного использования python для расчетов на GPU и сравнение производительности различных python-решений с реализацией на C.
Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Просмотры 55K
Комментарии 42

Python (+numba) быстрее Си — серьёзно?! Часть 1. Теория

Python *Программирование *

Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скорость выполнения кода на питоне к скорости на си. В данной статье после небольшого обзора по numba (часть 1) чуть более подробный разбор этой ситуации (часть 2).


Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 52K
Комментарии 7

Python (+numba) быстрее Си — серьёзно?! Часть 2. Практика

Python *Программирование *

Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» (там сравнивается производительность реализаций одного алгоритма на разных языках/компиляторах) с более детальными бенчмарками, графиками и пояснениями. Сразу оговорюсь, что я видел статью Ох уж этот медленный C/C++ и, скорее всего, если внести в код на си эти правки, картина несколько изменится, но даже в этом случае то, что питон способен превысить скорость си хотя бы в таком варианте, само по себе является примечательным.


Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 17K
Комментарии 17

Вычислительная геология и визуализация: пример Python 3 Jupyter Notebook

Open source *Программирование *Геоинформационные сервисы *Визуализация данных *Научно-популярное

Сегодня вместо обсуждения геологических моделей мы посмотрим пример их программирования в среде Jupyter Notebook на языке Python 3 и с библиотеками Pandas, NumPy, SciPy, XArray, Dask Distributed, Numba, VTK, PyVista, Matplotlib. Это довольно простой ноутбук с поддержкой многопоточной работы и возможностью запуска локально и в кластере для обработки больших данных, отложенными вычислениями (ленивыми) и наглядной трехмерной визуализацией результатов. В самом деле, я постарался собрать разом целый набор сложных технических концепций и сделать их простыми. Для создания кластера на Amazon AWS смотрите скрипт AWS Init script for Jupyter Python GIS processing, предназначенный для единовременного создания набора инстансов и запуска планировщика ресурсов на главном инстансе.

Визуализация с помощью Visualization Toolkit(VTK) и PyVista это уже далеко не Matplotlib

Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 3.7K
Комментарии 0

Тестируем быстродействие трех библиотек Python

Python *
Из песочницы

Передо мной стояла задача выбрать библиотеку для расчета на Python, использующего операции над матрицами. Я выбрал и протестировал несколько вариантов, как использующих видеокарту (GPU), так и работающие только на процессоре.

Использовал три библиотеки: Numpy, Pytorch и Numba.

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 7K
Комментарии 1

JIT-компилятор Python в 300 строк

Python *Программирование *C++ *Компиляторы *

Может ли студент второго курса написать JIT - компилятор Питона, конкурирующий по производительности с промышленным решением? С учётом того, что он это сделает за две недели за зачёт по программированию.

Как оказалось, может, но с нюансами.

Читать далее
Всего голосов 138: ↑137 и ↓1 +136
Просмотры 21K
Комментарии 34

Сравнительный анализ эффективности работы Cython и Python

Python *Программирование *

Привет, Хабр! Сегодня поговорим о Cython, почему он хорош, что он умеет: хорошие вещи, плохие вещи, о том, когда стоит использовать Cython, рассмотрим пример и существующие проекты на нем.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.2K
Комментарии 6