Каковы последствия вызова функций NumPy C API из нескольких потоков?

Это рискованный бизнес, и я понимаю, что Global Interpreter Lock - грозный противник параллелизма. Однако, если я использую NumPy's C API (в частности, макрос PyArray_DATA в массиве NumPy), есть ли потенциальные последствия для его вызова из нескольких параллельных потоков?

Обратите внимание, что я по-прежнему буду владельцем GIL и не буду выпускать его с поддержкой потоковой передачи NumPy . Кроме того, даже если NumPy не дает никаких гарантий в отношении безопасности потоков, но PyArray_DATA на практике является потокобезопасным, для меня этого достаточно .

Я использую Python 2.6.6 с NumPy 1.3.0 для Linux.

7
задан ide 17 August 2015 в 20:22
поделиться