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__ #ifdef __AVX512FP16__
export template <std::uint32_t Len, std::uint32_t Packing, std::uint32_t Repeats> export template <std::uint32_t Len, std::uint32_t Packing>
using VectorF16L = VectorF16<Len, Packing, Repeats>; using VectorF16L = VectorF16<Len, Packing>;
#else #else
export template <std::uint32_t Len, std::uint32_t Packing, std::uint32_t Repeats> export template <std::uint32_t Len, std::uint32_t Packing>
using VectorF16L = VectorF32<Len, Packing, Repeats>; using VectorF16L = VectorF32<Len, Packing>;
#endif #endif
} }

File diff suppressed because it is too large Load diff

View file

@ -5,10 +5,21 @@ import std;
using namespace Crafter; using namespace Crafter;
int main() { int main() {
_Float16 test[] {0,1,2,3,0,1,2,3}; // _Float16 test[] {2,1,2, 2,1,2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
VectorF16L<4,1,2> vec(test); // _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<4,1,2> vec2(test); // VectorF16L<3,2> vec(test);
std::println("{}", vec+vec2); // 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::random_device rd;
// std::mt19937 gen(rd()); // std::mt19937 gen(rd());
// std::uniform_real_distribution<float> dist(0, 100); // std::uniform_real_distribution<float> dist(0, 100);

View file

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