Skip to content

Conversation

cyrusmsk
Copy link
Contributor

Based on fix from @kinke (PR/308):
I've removed SIMD-specific realization from Mandelbrot.
Because it seems that currently D is not supporting AVX-512 specific instructions.

Now build and tests are passing (at least locally). The time has been increased :(

kinke and others added 2 commits October 22, 2022 01:36
I've deleted SIMD realization, because it seems that there is no support in D of AVX512-specific instructions currently. Previously when I've made mandelbrot - I've tried 'double8' and it worked (although in documentation only 'double4' is mentioned). I don't know how exactly LDC is figuring out it internally.
@hanabi1224 hanabi1224 enabled auto-merge (squash) October 27, 2022 10:00
@hanabi1224
Copy link
Owner

Thanks

@hanabi1224 hanabi1224 merged commit 3fc942c into hanabi1224:main Oct 27, 2022
@kinke
Copy link

kinke commented Oct 27, 2022

Thanks for the Broadwell fix, making the comparison fair again.

Because it seems that currently D is not supporting AVX-512 specific instructions.

The vector ops themselves work just fine (and have worked fine with double8, even when targeting a Pentium 4 - thanks to LLVM), but the garbage collector doesn't handle alignments > 16.

But I guess LLVM vectorizes the loop anyway. Is the runtime diff visible somewhere?

@cyrusmsk cyrusmsk deleted the mandelbrot_fix branch January 23, 2023 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants