would a program compiled by ghc, or ghc itself,
run as-is on Intel Xeon Phi (KNL)?
I found this reference
http://stackoverflow.com/questions/22253311/running-haskell-on-xeon-phi
but it seems to be about the pre-KNL version.
Thanks - J.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
> would a program compiled by ghc, or ghc itself,
> run as-is on Intel Xeon Phi (KNL)?
>
> I found this reference
> http://stackoverflow.com/questions/22253311/running-haskell-on-xeon-phi
> but it seems to be about the pre-KNL version.
Xeon Phi is effectively a different architecture, in the same way
that the ARM architecture is different from the x86_64 architecture.
Currently GHC does not support the Xeon Phi architecture directly.
It may however (as the SO response suggests) be possible to generate
C code from GHC and compile that C code with with a C compiler that
can generate Xeon Phi binaries. However, I am sure that route would
be a signicant yak shaving exercise.
Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
> Xeon Phi is effectively a different architecture, in the same way
> that the ARM architecture is different from the x86_64 architecture.
More info on the Xeon Phi here:
https://en.wikipedia.org/wiki/Xeon_Phi
suggests that maybe it isn't a different architecture.
It may however (as the SO response suggests) be possible to generate
C code from GHC and compile that C code with with a C compiler that
can generate Xeon Phi binaries.
> The whole point of the Xeon-phi is the availability of
> large-vector sized floating-point support and many-many cores.
Sure, that's what I'm contemplating - use the many options
of writing parallel and concurrent Haskell programs.
So, GHC's RTS should "just work"?
I was hoping someone already had actually seen this
on their machine.
I recall we thought about using a Xeon phi for our application but abandoned the attempt for reasons I cannot recall. I’ll see if I can find out.
But maybe you would better using something like accelerate-llvm? I think you wrote your application was numerical.
BTW I am currently adding a small improvement to ghc floating point code generation but I am beginning to think it’s going to be difficult to get ghc to generate really good numerical / floating point code and I am experimenting with accelerate-llvm.
Dominic