Conversation
just to isolate this big diff - structural changes to gpu_qcomp are coming
and changed &arr[ind] to arr + ind, for visual clarity
but there's so much boilerplate overlap with cpu_qcomp, I wonder if we should unify the two! We can retain separate cpu_qcomp and gpu_qcomp types (for clarity) through a typedef
compiler stack-overflows when OpenMP is enabled - possibly due to thread-private instantiation of this 2D array?
to debug MSVC + OpenMP compilation failure in CI
story of my life bruddah
nice one chatgpt
|
@JPRichings @otbrown Here's a first draft of the proposed You'll see most of the |
|
Thanks Tyson! I have 5(!) hours of meetings tomorrow, so unlikely to get to this then, but will make time later in the week! |
|
Hi Tyson, one of my meetings got cancelled 🥳 Moving away from the standard library entirely is philosphically upsetting, but clearly has practical benefits!
I strongly support this proposal. Structurally it would be nice to have the common interface in core to then be specialised/overwritten in cpu/gpu. I am still a bit nervous about needing to maintain a set of maths functions but if we can also contain them in one place in core (relying on the concrete implementations of arithmetic primitives elsewhere if needed), that would be good. If it's helpful I can volunteer @eessmann as |
Yea it's outrageous but at least it won't keep us up at night about esoteric performance pitfalls! (We'll trade that for alignment nightmares)
Made common definitions in the previous commit. We can still discretionarily fallback to the
That'd be super helpful! I preserved the method (used in relation to that comment) in the GPU backend, so I'm hoping things just work on HIP. I don't have an AMD machine handy to test on, so it would be terrific if Erich can give it a whirl! I can also re-setup the (paid) GPU Github Action runners if billing has been sorted out. Note the new |
Experiment with fully custom
cpu_qcompandgpu_qcomptypes to avoid...qcomp = std::complexperformance pitfallscu_qcompcorrectness pitfalls