memory-alignment 相关问题

内存对齐意味着对象和变量驻留在系统内存中的特定偏移处。

在 GCC 中对齐 malloc()?

GCC或glibc中是否有标准化函数可以在对齐指针处分配内存块? 就像 MSVC 中的 _align_malloc() 吗?

回答 5 投票 0

为了尽可能快的速度,我应该对 CUDA 中的矩阵使用什么步幅?

我正在处理大小范围从 2,000x2,000 到 5,000x5,000 的矩阵,进行乘法和 QR 分解等运算。例如,我很好奇我是否应该调整步幅......

回答 1 投票 0

为了获得尽可能快的速度,我应该对 CUDA 中的矩阵使用什么步幅?

我正在处理大小范围从 2,000x2,000 到 5,000x5,000 的矩阵,进行乘法和 QR 分解等运算。例如,我很好奇我是否应该调整步幅......

回答 1 投票 0

为什么对齐访问和非对齐访问具有相同的性能?

来自 Intel CPU 手册(Intel® 64 和 IA-32 架构软件开发人员手册第 3 卷(3A、3B、3C 和 3D):系统编程指南 8.1.1),它说“非对齐数据访问将串行...

回答 1 投票 0

INTEL X86,为什么对齐访问和非对齐访问性能相同?

来自 INTEL CPU 手册(Intel® 64 和 IA-32 架构软件开发人员手册第 3 卷(3A、3B、3C 和 3D):系统编程指南 8.1.1),它说“非对齐数据访问将严重...

回答 1 投票 0

使用 simd 指令时的堆栈对齐

在我正在读的关于汇编的书中,我们被告知对于我们编写的任何函数,如果它是一个分支函数并且将调用其他函数,它必须保持堆栈对齐。这样做是为了 SIMD

回答 1 投票 0

“内存是8字节对齐”是什么意思?

在做一个项目时,我发现内存数据是“8字节对齐”的。谁能解释一下这是什么意思?

回答 4 投票 0

C 编译器使用的数据布局(对齐概念)

以下是红龙书的摘录。 例 7.3。图 7.9 是 C 编译器为两台机器(我们称为机器 1 和机器 2)使用的数据布局的简化。 机器 1:...

回答 1 投票 0

ARM64 中堆栈指针的行为

由于 ARM64 中缺少 PUSH 和 POP 指令,我在理解 SP 在 ARM64 中如何工作时遇到了问题。 如果我要 PUSH/POP,SP 是否会减少/增加 4、8 或 16 个字节? 我是

回答 1 投票 0

Malloc 和对齐

据我所知,每种类型(例如 int)只能存储在以 2 的幂开始的内存地址。现在我的问题是,malloc 如何应对这个要求?例如,如果我打电话 ...

回答 1 投票 0

Eigen EIGEN_MAKE_ALIGNED_OPERATOR_NEW 的传递效果?

最近,我意识到固定大小可矢量化特征对象的内存对齐的潜在问题。 文档中所述的正确代码: 类 Foo { ... 本征::Vector2d v; ...

回答 1 投票 0

联合大小因意外的单词对齐而变化[重复]

我有一个结构体和一个联合定义如下 结构aa{ 浮动 j; 字符aaa; 字符bbb; int bb; }aaaa; sizeof(aaaa) 12 字节 联合乌塔格{ 字符 bb; 浮动 kk; 字符*c; 结构 aa l...

回答 1 投票 0

即使正在访问的成员已充分对齐,访问未对齐联合的成员是否会出现未定义行为?

在 C 中,如果我尝试通过未对齐的指针访问类型,则可能会发生不好的事情: 整数x[2]; // 假设 CHAR_BIT == 8 && sizeof(int) == 4 *(int *)((char *)x+1) = 10; /* 未定义

回答 1 投票 0

您可以将双精度数组重新解释为包含双精度数组的结构吗? [重复]

我正在使用一个库,它将 3D 笛卡尔向量数组表示为连续的一维双精度数组,其中三个后续条目对应于一个 v 的笛卡尔分量...

回答 1 投票 0

C++ 将原始数据作为对象访问

我正在使用一个库,它将 3D 笛卡尔向量数组表示为连续的一维双精度数组,其中三个后续条目对应于一个 v 的笛卡尔分量...

回答 1 投票 0

如何找出(运行程序时)结构体是如何对齐的?

我有一个会在数组中频繁访问的结构数据,因此将其与特定大小对齐做出了重大改进。 然而它的成员变量可以配置为不同的类型(

回答 1 投票 0

C# 结构体参数和局部变量默认对齐吗?

假设我有一个如下定义的结构: [StructLayout(LayoutKind.Explicit,大小 = 16,包 = 1)] 只读结构示例 { [场偏移(0)] 公众持股量A; [场偏移(4)] 公共...

回答 1 投票 0

为什么struct b和struct d的大小不同?

#包括 使用命名空间 std; 结构体A{ 虚拟无效 f(){}; 整数a; 字符ch; }; 结构 B :公共 A{ 字符d; }; 结构体C{ 双 dd; 整数a; 字符ch; };

回答 1 投票 0

为什么struct b和struct d的大小不同?

#包括 使用命名空间 std; 结构体A{ 虚拟无效 f(){}; 整数a; 字符ch; }; 结构 B :公共 A{ 字符d; }; 结构体C{ 双 dd; 整数a; 字符ch; };

回答 1 投票 0

在C#中编写alignof(T)方法?

尝试从此网页实现alignof(T)公式,但它与Unity的不匹配: 模板 结构对齐 { 枚举 { s = sizeof (T), value = s ^ (s & (s - 1)) }; };...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.