I can think of a couple of sources for the small differences:
* Network performance fluctuates slightly between runs.
* The ghc compiler for Haskell uses a native code generator so the
binaries produced by ghc and gcc must be different. Consider that
because of temporary building issues, we are using ghc to compile ORNL
CCI implementation statically rather than making a shared library with
gcc. I didn't dig how ghc compiles C source code though.
If you are interested we could provide you the Haskell bindings and
pingpong draft for you to dig it further.
Cheers!
Facundo
On Tue, Jan 17, 2012 at 7:33 PM, Atchley, Scott <atch...@ornl.gov> wrote:
> Peter,
>
> Excellent!
>
> Interestingly, after 8 bytes, the Haskell latencies are better than the C latencies. I would be curious to understand the differences between the Haskell pingpong and the C version.
>
> Scott
>> _______________________________________________
>> CCI_Developers mailing list
>> CCI_Dev...@email.ornl.gov
>> https://email.ornl.gov/mailman/listinfo/cci_developers
>> To unsubscribe, send a blank email to cci_developer...@email.ornl.gov
>
> _______________________________________________
> CCI_Developers mailing list
> CCI_Dev...@email.ornl.gov
> https://email.ornl.gov/mailman/listinfo/cci_developers
> To unsubscribe, send a blank email to cci_developer...@email.ornl.gov
I'm looking fault tolerant distributed memory Haskell for my PhD. I
tried using mpich2 with only limited fault tolerant behaviour (v1.4.1
has a flag to withstand node failure), and so instead just focused on
silent failure semantics using sockets. I'd love to be using a higher
performance communication layer to investigate the fault tolerant
semantics of CCI. So.. I'd also very much like to sign up getting this
code, too.
Thanks,
--
Rob Stewart
Heriot Watt University