Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue# 1762 - Add an option to build SWIG python bindings with threads enabled #1763

Merged
merged 11 commits into from
Sep 30, 2021

Conversation

kkg4theweb
Copy link
Contributor

@kkg4theweb kkg4theweb commented Sep 22, 2021

Add a configure option to enable SWIG python bindings with threads enabled.

  • Fix all custom binding code that use the PyAPI to be GIL safe
  • Make the Py3.6 + MPI version of the CI test to enable this option for testing.

@kkg4theweb kkg4theweb marked this pull request as ready for review September 29, 2021 15:49
@kkg4theweb kkg4theweb changed the title Issue# 1762 - Add an option to build SWIG python bindings with threads enabled (WIP) Issue# 1762 - Add an option to build SWIG python bindings with threads enabled Sep 29, 2021
python/meep.i Outdated Show resolved Hide resolved
@stevengj stevengj merged commit 34ce8d0 into NanoComp:master Sep 30, 2021
mawc2019 pushed a commit to mawc2019/meep that referenced this pull request Nov 3, 2021
…s enabled (NanoComp#1763)

* Enable configure builds with SWIG threading and/or debugging enabled

* Surround python codeblock that need to be thread-safe with SWIG_PYTHON_THREAD_{BEGIN,END}_BLOCK

* define and use SWIG_PYTHON_THREAD_SCOPED_BLOCK to make py calls GIL-safe

* enable swig threads for the PYv3.9/MPI CI test

* Add docs describing the new feature.

* Add more comments describing the new SWIG_PYTHON_THREAD_SCOPED_BLOCK macro.

* switch the MEEP_SWIG_PYTHON_DEBUG to use master_printf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants