首页 > 解决方案 > C# SIMD 向量未正确初始化

问题描述

所以我在 C# 中使用 SIMD / 内在函数。

在我向微软报告这个错误之前,我想知道我是否做错了。

如果我在我的机器上创建一个 Vector,它的大小是 8。我只能新建一个包含 8 个元素的 Vector。但是当我使用向量时,只存储了前 4 个元素。

var vectorCount = Vector<int>.Count; //8

var vector = new Vector<int>(new []{1,2,3,4,5,6,7,8});
// vector: 1, 2, 3, 4, 0, 0, 0, 0

如果我尝试计算最小值,这尤其成问题。如果 0 是向量的零元素,则最小值将始终为 0!

var minInit = new Vector<int>(int.MaxValue);
// .., .., .., .., 0, 0, 0, 0

标签: c#.net-coresimdintrinsics

解决方案


推荐阅读