multi-core-python icon indicating copy to clipboard operation
multi-core-python copied to clipboard

Enabling CPython multi-core parallelism via subinterpreters.

Results 43 multi-core-python issues
Sort by recently updated
recently updated
newest added

PEP 554 is entitled "Multiple Interpreters in the Stdlib", yet the term "subinterpreters" is used throughout this repo. There is the additional confusion of the C struct names. It seems...

The `_ast` module uses global state with heap types, so it is possible to do: ```python import _xxsubinterpreters import _ast _ast.Lambda.smuggled = 'any object' interp = _xxsubinterpreters.create() _xxsubinterpreters.run_string(interp, 'import _ast;...

In my C++ simulation platform, I load DLLs with user-made plugins that each get their own thread and update loop, and all cross-plugin state access is controlled by strict mutexing....

This could be done with the following: 1. run the full CPython test suite (regrtest) inside a subinterpreter 2. create an issue for each failure There are also possible issues...

Issue #22 is about making use of subinterpreters (specifically the PEP 554 API) in the CPython test suite. Until PEP 554 is accepted (or if it isn't) we should add...

X [stdlib API]
P1
type: code health
size: small
complexity: low
X [testing]

(Note that this is more of a future enhancement than a blocker for PEP 554, etc.) from [PEP 554](https://www.python.org/dev/peps/pep-0554/#uncaught-exceptions): > Regarding uncaught exceptions in Interpreter.run(), we noted that they are...

X [cross-interpreter]
P2
type: enhancement
size: medium
complexity: medium

[maybe split into more granular tasks] 1. move the global state back to Include/internal (see below) 2. move `PyRuntimeState.obj` to `PyInterpreterState.obj` 3. move `PyRuntimeState.mem` to `PyInterpreterState.mem` Notable concerns: * very...

X [isolation]
X [runtime]
P1
type: enhancement
size: large
complexity: high

[probably last thing to move] blockers: - [ ] #33 - [ ] #27 - [x] #29 - [ ] #30 - [x] #31 - [x] #28

X [isolation]
X [runtime]
P1
type: enhancement
status: blocked
size: large
complexity: high

Currently the low-level function to "send" an object over a channel is fire-and-forget. We need a way to do the same thing but block until the object is received. Solutions:...

X [cross-interpreter]
X [stdlib API]
P1
type: enhancement
size: medium
complexity: medium