If matrices are small, 1 core would be more efficient. If matrices are big, GPU would be more efficient.
Plus I already answered your questions, not moving goal posts here.
For example, a SIMD implementation will outperform a multithreaded implementation on a CPU without support for hardware threads.
My nonsense answer just happens to be what HPC is moving into, and when HPC wants to scale it uses MPI coupled GPUs, not plain old threads.
Multi-core systems and tools that can use them are valuable and very much reality right now.
As much as I often appreciate your no-nonsense perspective on things and you posting it, things like this don't really do you a favor.
EDIT: tweaked last line to be a bit less snippy
Every application should strive for proper quality, just like in other industries.
If you insist on networked solutions: database servers.
Also: "multicore + purely functional style" is just as clean as "multiprocess + purely functional style", but ... the latter is less efficient because of communication overhead.
And if that is irrelevant to you, there is still the application stability and memory consistency to ensure data is being handled in a memory consistent state.
Fortran is a good example on how to do scientific computing without low level threads.
This applies to all programming languages, not only OCaml, hence why everyone is moving away into other concurrency models anyway.