Вопросы по теме 'gil'
OpenMP, Python, расширение C, доступ к памяти и злой GIL
поэтому в настоящее время я пытаюсь сделать что-то вроде A ** b для некоторого 2d ndarray и двойного b параллельно для Python. Я хотел бы сделать это с помощью расширения C, используя OpenMP (да, я знаю, есть Cython и т. Д., Но в какой-то момент у...
472 просмотров
schedule
07.09.2021
Где я могу найти список функций numpy, которые выпускают GIL?
Я нашел несколько SO-вопросов, которые так или иначе задают этот вопрос, но ни один из них не дает ни одного списка, ни ссылки на него.
Этот вопрос относится к страница вики , но хотя на странице вики говорится о GIL и многопоточности, она не...
1347 просмотров
schedule
24.10.2021
Как вызвать многопоточный код Python из C ++?
Я пытаюсь подключиться к устаревшему многопотоковому приложению Python из разрабатываемого нового кода C ++. Кажется, я не могу заставить вызовы C ++ в Python работать надежно, если код Python запустил поток. В псевдокоде я пытаюсь заставить...
674 просмотров
schedule
26.10.2021
Распараллеливание программы python3 с огромными сложными объектами
вступление
У меня есть довольно сложная программа на Python (скажем, более 5000 строк), написанная с помощью Python 3.6 . Эта программа анализирует огромный набор данных из более чем 5000 файлов, обрабатывает их, создавая внутреннее представление...
71 просмотров
schedule
07.09.2021
Вызов функции, требующей gil, не разрешен без ошибки компиляции gil с C++
По сути, это расширение этого вопроса - Использование threadpoolexecutor в сочетании с cython ногил
В этом случае мой метод getArea2() немного отличается
cdef int getArea2(self,double[:] p) nogil:
cdef int area
cdef SphericalPoint...
928 просмотров
schedule
01.03.2022
Освобождение GIL после уничтожения подинтерпретатора
Я встраиваю Python 3.2 в приложение C++, и у меня есть несколько подинтерпретаторов, которые в разное время запускаются в программах (созданы Py_NewInterpreter ). Они приобретают и выпускают GIL в разное время, но я столкнулся с проблемой, когда...
457 просмотров
schedule
19.03.2022
Существует ли универсальный способ проверки существования GIL?
Я пишу многопоточное приложение Python, которое будет вести себя по-разному в системах в зависимости от деталей реализации GIL.
Есть ли универсальный способ проверить, есть ли у интерпретатора, на котором я работаю, GIL в стиле CPython?
57 просмотров
schedule
01.04.2022
Почему этот скрипт Python работает в 4 раза медленнее на нескольких ядрах, чем на одном ядре
Я пытаюсь понять, как работает GIL CPython и каковы различия между GIL в CPython 2.7.x и CPython 3.4.x. Я использую этот код для бенчмаркинга:
from __future__ import print_function
import argparse
import resource
import sys
import threading...
1923 просмотров
schedule
11.05.2022
Почему значение max_workers по умолчанию для ThreadPoolExecutor определяется на основе количества процессоров?
В документации для concurrent.futures.ThreadPoolExecutor говорится:
Изменено в версии 3.5: если max_workers равно None или не задано, по умолчанию будет указано количество процессоров на машине, умноженное на 5 , при условии, что...
3743 просмотров
schedule
24.08.2022
Как я могу проверить, содержит ли поток в настоящее время GIL?
Я попытался найти функцию, которая сообщает мне, имеет ли текущий поток глобальную блокировку интерпретатора или нет.
Документация Python/C-API, похоже, не содержит такой функции.
Мое текущее решение состоит в том, чтобы просто получить...
4652 просмотров
schedule
05.10.2022
Многопоточный пример Python GIL
Я довольно много читал о том, насколько «плох» этот бизнес с GIL на питоне при написании многопоточного кода, но я никогда не видел примера. Может кто-нибудь, пожалуйста, дайте мне простой пример, когда GIL вызывает проблемы при использовании...
4925 просмотров
schedule
01.10.2022
Обработка списка списков в Cython с помощью nogil
В Python у меня есть список списков в качестве входных данных:
input = [[0,1,2],[0,3,4,5],[0,6]]
На самом деле количество подсписков исчисляется десятками тысяч. Длина каждого подсписка может сильно различаться, от нуля или одного значения...
789 просмотров
schedule
01.10.2022
CherryPy в 60 раз медленнее в тесте с 8 запрашивающими потоками по сравнению с 7
Мне любопытно, почему при тестировании веб-сервера Python CherryPy с использованием ab с -c 7 (7 одновременных потоков) он может обслуживать 1500 запросов/с (около того, что я ожидаю), но когда я перехожу на -c 8 , он падает до 25 запросов/с....
1955 просмотров
schedule
18.02.2023
Поддерживает ли параметр потока Pypy без стека параллельное выполнение?
Я читал о функции PyPy без стека . Мой вопрос прост: обходит ли это GIL? На странице говорится, что это позволяет кодировать в «массово параллельном стиле». Означает ли это также массово-параллельный стиль с использованием нескольких ядер?
676 просмотров
schedule
26.12.2022
Может ли режим округления FPU, установленный в процессе Python, быть изменен другим процессом Python?
Я часто использую библиотеку libqd, которая требует установки режима округления FPU перед любыми вычислениями. До сих пор я в основном использовал его в программах на C, но время от времени я хотел бы использовать его в скриптах Python.
Я слышал о...
45 просмотров
schedule
10.04.2023
Python GIL предотвращает превышение загрузки ЦП на 100% на многоядерной машине?
Многие ссылки говорят, что Python GIL снижает производительность многопоточного кода на многоядерной машине, поскольку каждый поток должен будет получить GIL перед выполнением.
Другими словами, похоже, что GIL фактически переводит многопоточную...
1065 просмотров
schedule
08.03.2023
Производительность Python Threading против количества ядер
Я новичок в python и изучаю многопоточность и GIL. Это статистика команды lscpu :
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3...
1367 просмотров
schedule
15.06.2023
Нужно ли заботиться о Python GIL при работе с многопоточным расширением C++?
Сейчас я реализую подписчика данных с помощью Python, который подписывается на издателя данных (на самом деле это сокет издателя ZeroMQ) и будет получать уведомления при получении любых новых сообщений. В моем подписчике сообщения сбрасываются в...
2479 просмотров
schedule
23.12.2022
Распараллеливание потоков Python без GIL
Я перефразирую свой вопрос, потому что я думаю, что многие думали, что это вопрос «есть ли у python потоки». Это так, но в CPython также есть GIL, который никогда не будет планировать более одного потока в любой момент времени. Это делает потоки...
158 просмотров
schedule
03.12.2022
Локальные массивы потока в cython's prange без огромного выделения памяти
У меня есть несколько независимых вычислений, которые я хотел бы выполнять параллельно с помощью Cython.
Сейчас я использую этот подход:
import numpy as np
cimport numpy as cnp
from cython.parallel import prange
[...]
cdef...
456 просмотров
schedule
21.11.2022