Remove python-gil requirement and enable free-threaded Python#2250
Draft
ndgrigorian wants to merge 9 commits intofeature/uncouple-tensor-from-dpctlfrom
Draft
Remove python-gil requirement and enable free-threaded Python#2250ndgrigorian wants to merge 9 commits intofeature/uncouple-tensor-from-dpctlfrom
python-gil requirement and enable free-threaded Python#2250ndgrigorian wants to merge 9 commits intofeature/uncouple-tensor-from-dpctlfrom
Conversation
dcac1f6 to
e450664
Compare
085aece to
5dda977
Compare
|
View rendered docs @ https://intelpython.github.io/dpctl/pulls/2250/index.html |
eed544e to
82e9a5e
Compare
82e9a5e to
a1d36ce
Compare
free-threaded builds use a new GC that skips PyGC_Head, and this seems to cause some objects to change in size by ~16 bytes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR removes the required
python-gildependency from the dpctl conda package workflow and enables free-threaded Python in extension modulesAdjustments are made to the
SequentialOrderManagerclass such that the class is safe in free-threaded, including mutexes in the C++ class as a fall-back in case of (not recommended) simultaneous access to its members and methodsCaching using
defaultdictsuch as that inSequentialOrderManagerand the queue and device managers are also adjusted to be more thread-safe, using lazily initialized factory functions so each thread will carry its own cache or managerThis PR builds on top of work already done removing the tensor submodule, which is pending migration to dpnp