Hacker News new | past | comments | ask | show | jobs | submit login

He has a point. Currently there is no way in Julia of checking with CPU instructions are available. So in practice, it's impossible to write low-level assembly code in Julia.

IIUC, SIMD.jl only works because it only provides what is guaranteed by LLVM to work cross-platform, which is quite far from being able to use AVX2, for example.




Loopvectorization exploits avx512, when available. How is that achieved?


IIRC it relies on HostCPUFeatures.jl which parses output from LLVM. However, this means it just crashes when used on a different CPU than it was compiled on (which can happen on compute clusters) and it crashes if the user sets JULIA_CPU_TARGET.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: