Pull to refresh

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

Python *GPGPU *C *
Sandbox

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

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

Python *Programming *

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


Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Views 52K
Comments 7

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

Python *Programming *

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


Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Views 17K
Comments 17

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

Open source *Programming *Geoinformation services *Data visualization *Popular science

Сегодня вместо обсуждения геологических моделей мы посмотрим пример их программирования в среде 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

Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views 3.7K
Comments 0

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

Python *
Sandbox

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

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

Читать далее
Total votes 18: ↑16 and ↓2 +14
Views 7.1K
Comments 1

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

Python *Programming *C++ *Compilers *

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

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

Читать далее
Total votes 138: ↑137 and ↓1 +136
Views 21K
Comments 34

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

Python *Programming *

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

Читать далее
Total votes 15: ↑15 and ↓0 +15
Views 4.3K
Comments 6