Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dyaroshev
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
dyaroshev
2y ago
That definetly doesn't apply to unrolling. In eve the ability to zip ranges is fundamental and is very important
2.
▲
by
dyaroshev
2y ago
Thanks for this example. Can you write the second one two? With two ranges? That's where I believe the variadics will be. FYI: The codegen is smaller because the loop is not unrolled. That's a 2x slower on my measurements. + at le
3.
▲
by
dyaroshev
2y ago
I don't think this works if your files are modules. Let's stop here, it doesn't seem like we understand each other.
4.
▲
by
dyaroshev
2y ago
Well. You have a file, something like: load.h You need to include it multiple times, compiled with different flags. So - it's never going to be in load.cxx or whatever that's called.
5.
▲
by
dyaroshev
2y ago
> is to re-include our source file Yeah - that means your source file is never a module. We would really like eve to be modularized, the CI times are unbearable. I'd love to be proven wrong here, that'd be amazing. But I don&#x
6.
▲
by
dyaroshev
2y ago
cppcast talked about soagen https://cppcast.com/soagen/ I didn't look into it too much.
7.
▲
by
dyaroshev
2y ago
I struggle to read the highway documentation, it focuses on things that are unrelated to me. So sorry if I'm wrong. Let me write the std::ranges code and ask you to write them with highway. https://godbolt.org/z/3s
8.
▲
by
dyaroshev
2y ago
I don't think we understand each other. We want to take one function and compile it twice: ``` namespace MEGA_MACRO { void foo(std::span<int> s) { super_awesome_platform_specific_thing(s); } } // namespace MEGA_MACRO
9.
▲
by
dyaroshev
2y ago
The algorithms I tried to make as good as I knew how. Maybe 95% there. Nice tail handling. A lot of things supported. I like or interface over other alternatives, but I'm biased here. Really massive math library.
10.
▲
by
dyaroshev
2y ago
You can do many thing with macros and inline namespaces but I believe they run into problems when modules come into play. Can you compile the same code twice, with different flags with modules?
11.
▲
by
dyaroshev
2y ago
FYI: You don't want to do this. `supports<avx512>` is an expensive check. You really want to put this check in a static.
12.
▲
by
dyaroshev
2y ago
Hi! Thanks for your interest in the library. Here is a godbolt example: https://godbolt.org/z/bEGd7Tnb3 Here is a bunch of simple examples: https://github.com/jfalcou/eve/blob/fb093a0553d
13.
▲
by
dyaroshev
2y ago
AMD we support pretty well. I tested Zen1 and a bit Zen4
14.
▲
by
dyaroshev
2y ago
Our answer to this - is dynamic dispatch. If you want to have multiple version of the same kernel compiled - compile multiple dlls. The big problem here is: ODR violations. We really didn't want to do the xsimd thing of forcing the use