Я пишу приложение для обработки изображений которому нужно делать несколько вещей, и он должен делать их как можно больше в режиме реального времени. Сбор данных и их обработка выполняются в отдельных процессах (главным образом из соображений производительности). Сами данные довольно большие (2MPix 16-битные изображения в градациях серого).
Я могу обмениваться массивами между процессами, как это описано в этом посте: Как передавать большие массивы numpy между подпроцессами python без сохранения на диск?(Я использую скрипт shmarray из пакета numpy-shared). Я могу без проблем выполнить предоставленное Numpy FFT для этих данных, но это довольно медленно.
Вызов FFTW, вероятно, был бы намного быстрее, но для того, чтобы получить от него все преимущества, я должен запускать свои операции с массивами, выровненными по памяти.
Вопрос: есть ли способ создавать и совместно использовать Numpy-подобные массивы между процессами, которые в то же время гарантированно будут выровнены по памяти?