<div dir="ltr"><div>Johannes:</div><div><br></div><div>KNL is "x86-binary-compatible:" <a href="https://www.computer.org/cms/Computer.org/ComputingNow/issues/2016/06/mmi2016020034.pdf">https://www.computer.org/cms/Computer.org/ComputingNow/issues/2016/06/mmi2016020034.pdf</a></div><div><br></div><div>KNL supports "up-to" AVX-512 instruction set, making it capable of executing binaries that are compiled for, say, regular Xeon machines. The only notable exception are the TSX instructions (the instructions for transactional memory), which I don't believe is generated via the GHC compile pipeline anyhow.</div><div><br></div><div>So, in theory, you can take an arbitrary binary compiled for a modern x86 machine (say any of the Core line), and run it unmodified on the KNL. Of course, the issue is going to be the software stack: Binaries don't exist in isolation, you also need dynamic-loaded libraries. So, you might have issues with, say, GMP or other libs if they are not yet ported to KNL. (Static linking might be a huge headache.)</div><div><br></div><div>In practice, however, this would be rather wasteful: The whole point of the Xeon-phi is the availability of large-vector sized floating-point support and many-many cores. If you're running a binary that makes no use of those instructions and is single-threaded, then you will not gain anything. In fact, the single-threaded performance might suffer compared to a regular Xeon machine. Of course, this all depends on what you want to do.</div><div><br></div><div>Projects like DPH, however, can take great advantage of the Xeon-phi architecture; by parallelizing number-crunching algorithms and distributing over many cores. (<a href="https://wiki.haskell.org/GHC/Data_Parallel_Haskell">https://wiki.haskell.org/GHC/Data_Parallel_Haskell</a>). However, I'm not familiar with the current status of DPH and related projects to opine weather they aim to target AVX-512 and many cores afforded by the Xeon-phi. I'd love to hear if anyone had more recent info on that.</div><div><br></div><div>-Levent.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 20, 2017 at 4:27 AM, Johannes Waldmann <span dir="ltr"><<a href="mailto:johannes.waldmann@htwk-leipzig.de" target="_blank">johannes.waldmann@htwk-leipzig.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Cafe -<br>
<br>
would a program compiled by ghc, or ghc itself,<br>
run as-is on Intel Xeon Phi (KNL)?<br>
<br>
I found this reference<br>
<a href="http://stackoverflow.com/questions/22253311/running-haskell-on-xeon-phi" rel="noreferrer" target="_blank">http://stackoverflow.com/<wbr>questions/22253311/running-<wbr>haskell-on-xeon-phi</a><br>
but it seems to be about the pre-KNL version.<br>
<br>
Thanks - J.<br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br></div>