`log` calling `fma_emulated` on hardware that doesn't need it

Hi,

I was doing some profiling for an application and came across this for log

It should be able to use the real FMA, not emulated. It’s a newish machine:

julia> versioninfo()
Julia Version 1.11.6
Commit 9615af0f269 (2025-07-09 12:58 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × AMD Ryzen 9 9950X 16-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, generic)
Threads: 16 default, 0 interactive, 8 GC (on 32 virtual cores)
Environment:
  JULIA_NUM_THREADS = 16
  LD_LIBRARY_PATH = /opt/cuda/lib64
  JULIA_PKG_USE_CLI_GIT = true

Is this a matter of juliaup only having a very generic build? Do I have to compile Julia myself to avoid this?

Also weird that I’ve never seen this come up before :thinking:

2 Likes

Previous versions of Julia don’t know what zen5 is and so they think it’s old. If you launch Julia with -c=Zen4 or something like that it should fix it. 1.12 detects zen5 properly, and in the future we should really start doing all our detection based of flags rather than names to avoid this better.

5 Likes

julia -C znver4 works! Thanks @Oscar_Smith

1 Like