2013-06-14 2 views
0

Привет Я пытаюсь выполнить некоторые вычисления матрицы с помощью python. Проблема в том, что, как представляется, существует предел того, сколько процессор будет потреблять (около 13% от моего Core i7).Сделать python использовать больше ресурсов в вычислениях

Есть ли способ, чтобы я мог использовать больше ресурсов?

+0

Я думаю, что нет никакого способа сделать это, через python, хотя я также верю, что нет ограничений на использование ЦП. * (попробуйте попасть в бесконечный цикл, и ваше использование процессора будет на 100%). Но, если вам нужно больше энергии, подумайте о реализации вашего алгоритма в 'Cython'. –

+0

Я думаю, что вы работаете на одном ядре, и вы используете его на 100%. Попробуйте пойти многопоточно. –

+3

Как вы определяете использование процессора на 13%, это 13% одного ядра или 13% ваших 4 + 4 ядер (потому что 1/8 = 0,125 ...) ... интерпретатор python работает в одном потоке, поэтому вы не может (до знания) получить более 100% от 1 ядра ... однако вы можете увеличить скорость до 10-100, если вы используете numpy для вычисления матрицы :) – jcr

ответ

1

Как указано в комментариях, вы работаете только на одном из 8 (4 физических, 4 виртуальных) ядра.

Если вы не делаете это для упражнений по программированию, но вместо этого вам действительно интересно провести численное программирование или анализ данных в python, вы можете внимательно посмотреть на numpy. Этот пакет обеспечивает быстрый тип массива/вектора/матрицы и выполняет их операции, и (предположительно) может выполнять многоточечные точечные продукты (см. multithreaded blas in python/numpy).

+0

Разве это не должно быть «4 физического»? –

+0

отредактированный для четкости. Ну, 4 физических ядра, 4 виртуальных ядра = 8 общих ядер ... не уверен, хотя если это правильное название ... – Piotr99

Смежные вопросы