Zac*_*ack 3 qt vectorization memory-alignment qt5 auto-vectorization
我正在使用 Qt5 编写一个程序,我需要分配一个QVector <float>使其data()指针 32 字节对齐的指针。
无论如何,我可以在不修改 Qt 库本身的情况下做到这一点吗?
我的代码看起来像这样:
QVector <float> vec;
vec.resize(n);
float *wricker_ptr = wricker.data(); // this should be 32-byte aligned
for (int i=0; i<n; i++)
{
wricker_ptr[i] = /* some computed value */;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用英特尔的 C++ 编译器。
我想到了两种解决方案:
\n\nstd::vector合适的分配器。QVector\ 的数据负载分配为alignof(T).\xc2\xb9QVector<__m256i>或类似的 and reinterpret_castin 和 out。\xc2\xb9 不完全正确,请参阅http://thread.gmane.org/gmane.comp.lib.qt.devel/22326/focus=22596
\n| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |