FFTW3:查询 SIMD 对齐方式

FFTW3: Query the SIMD-alignment

提问人:Gamification 提问时间:9/14/2023 最后编辑:Gamification 更新时间:9/14/2023 访问量:23

问:

根据文档 SIMD 对齐和fftw_malloc

传递给 FFTW 的复杂(或真实)数据数组必须在内存中特别对齐(通常为 16 字节对齐)[...]

为了保证 SIMD 的正确对齐 [...] 我们建议使用 fftw_malloc 分配转换数据,并使用 fftw_free 取消分配转换数据。

现在,当将连续缓冲区的窗口传递到 FFTW 时,如何判断它们是否会对齐?更具体地说:如果我使用 fftw_malloc 为 FFTW 分配缓冲区,我可以在什么偏移量处打开此缓冲区以保持对齐要求?

它说对齐方式“通常”是 16 字节,但我怎么能确定呢?

FFTW系列

评论

0赞 Gamification 9/14/2023
查看代码,似乎没有导出对齐方式,但可以采用值 16、32 和 64 github.com/FFTW/fftw3/blob/master/kernel/ifftw.h#L133C5-L133C14 因此,如果我的偏移量除以 64,我至少可以保证保持对齐。

答: 暂无答案