fixed f16 shuffling

This commit is contained in:
Jorijn van der Graaf 2026-03-23 21:42:40 +01:00
commit a6bf3ca572
4 changed files with 1244 additions and 1291 deletions

View file

@ -30,10 +30,10 @@ namespace Crafter {
}
#ifdef __AVX512FP16__
export template <std::uint32_t Len, std::uint32_t Packing, std::uint32_t Repeats>
using VectorF16L = VectorF16<Len, Packing, Repeats>;
export template <std::uint32_t Len, std::uint32_t Packing>
using VectorF16L = VectorF16<Len, Packing>;
#else
export template <std::uint32_t Len, std::uint32_t Packing, std::uint32_t Repeats>
using VectorF16L = VectorF32<Len, Packing, Repeats>;
export template <std::uint32_t Len, std::uint32_t Packing>
using VectorF16L = VectorF32<Len, Packing>;
#endif
}

File diff suppressed because it is too large Load diff

View file

@ -5,10 +5,21 @@ import std;
using namespace Crafter;
int main() {
_Float16 test[] {0,1,2,3,0,1,2,3};
VectorF16L<4,1,2> vec(test);
VectorF16L<4,1,2> vec2(test);
std::println("{}", vec+vec2);
// _Float16 test[] {2,1,2, 2,1,2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
// _Float16 test2[] {2,3,3, 2,5,21, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
// VectorF16L<3,2> vec(test);
// VectorF16L<3,2> vec2(test2);
// VectorF16L<3,2> result = VectorF16L<3,2>::Cross(vec, vec2);
// Vector<float, 3, 0> test5(2,1,2);
// Vector<float, 3, 0> test6(2,3,3);
// Vector<float, 3, 0> test3 = Vector<float, 3, 0>::Cross(test5, test6);
//VectorF16L<3,2> result = vec + vec2;
//std::println("{}\n{}", result, test3);
// std::random_device rd;
// std::mt19937 gen(rd());
// std::uniform_real_distribution<float> dist(0, 100);

View file

@ -29,8 +29,7 @@
"name": "test",
"implementations": ["interfaces/main"],
"extends": ["base"],
"debug": true,
"march": "raptorlake"
"debug": true
}
]
}