I work on the CUDA Python team at NVIDIA. We’d like to get your feedback in this short survey to help us prioritize features for the CUDA Python products.
If you have 5 min, use Python and GPUs, my team would love to hear your thoughts on what areas we can help as the community adopts free threading.
Right off the bat: why does the first question allow only one option to be selected? People use Python in multiple ways. Then on the second page, the implication that only experts would ever contribute to open source projects suggests that you’re going to keep everything as closed as you possibly can, and I stopped answering questions at that point.
@Rosuav, as promised here is the key findings from the survey. We had about 150 entries on the survy.
The survey revealed that our users use Python predominantly for professional purposes, with a significant portion of respondents involved in data science, data processing, and scientific computing (Figure 1). The top three libraries used by these professionals are CUDA Python, CuPy, and Numba, reflecting the community’s focus on performance and efficiency.
Performance emerged as the highest-ranked criterion for most projects (shown in Figure 2), underscoring the importance of optimizing Python for high-performance tasks. The survey indicated that if free threading can enhance performance, it will be greatly appreciated by the community, particularly in areas where current multi-threaded performance is limited by the Global Interpreter Lock (GIL).
When asked about challenges with current Python performance, the GIL was one of the top three concerns. The most significant bottlenecks attributed to the GIL include multi-threaded performance issues, poor scaling on multicore systems, increased latency in concurrent operations, and the need for more complex workarounds. While there is strong enthusiasm for free threading, respondents also highlighted several challenges. The most common issues include debugging difficulties, compatibility with existing libraries, and the need to refactor legacy code (shown in Figure 4).
Awareness of free threading within the Python community is mixed. Approximately half of the respondents are familiar with the concept, but many still lack a deep understanding of its implications. Those who do understand the benefits see free threading as a means to better utilize multi-core processors, reduce the need for multiprocessing, and significantly improve performance. When asked about their needs during the transition, the most respondents expressed a desire for comprehensive documentation, followed closely by a strong demand for examples and tutorials.