Open MPI with D

1100110 10equals2 at gmail.com
Wed Jun 13 17:10:36 PDT 2012


Oops, missed this post...

All of the source is on my github.
https://github.com/1100110/OpenMPI

It's not really complete, but it's good enough to play with.

There are a few gotchas regarding types, but just stick to C types and  
youre golden.




On Mon, 11 Jun 2012 10:04:56 -0500, Pavel Politsyn <mrdarksys at gmail.com>  
wrote:

> On Friday, 25 November 2011 at 15:27:03 UTC, Jude Young wrote:
>> On 11/25/2011 09:15 AM, Martin Nowak wrote:
>>> On Fri, 25 Nov 2011 15:55:15 +0100, Max Samukha
>>> <maxter at spambox.com> wrote:
>>>
>>>> On 11/25/2011 02:27 PM, Andrei Alexandrescu wrote:
>>>>> On 11/25/11 2:13 AM, Jude Young wrote:
>>>>>> Is there an easy way to turn D style (string[] args) into C
>>>>>> style?
>>>>>  Hm, I expected this would work:
>>>>>  extern(C) int __argc; extern(C) char** __argv;
>>>>>  The symbols do exist at least on OSX (no linker error) but they
>>>>> are both zero, so apparently druntime doesn't initialize them.
>>>>>   Andrei
>>>>>
>>>>  If you want a reference to an externally defined variable, you
>>>> need another "extern" and (if the variable is non-TLS) -
>>>> __gshared:
>>>>  __gshared extern extern(C) int __argc;
>>>  It also took me terribly long to find out that one for getting
>>> environ. We could probably get rid of setErrno and getErrno which
>>> add extra C sources to druntime.
>>>
>>>>
>>>
>> I'll have to check these out.  In the meantime, More successes! =D
>>
>> running hello_d with 5 threads
>> Hello, world, I am 1 of 5
>> Hello, world, I am 2 of 5
>> Hello, world, I am 5 of 5
>> Hello, world, I am 3 of 5
>> Hello, world, I am 4 of 5
>>
>> running ring_d with 5 threads
>> Process 0 sending 15 to 1, tag 201 (5 processes in ring)
>> Process 0 sent to 1
>> Process 0 decremented value: 14
>> Process 0 decremented value: 13
>> Process 0 decremented value: 12
>> Process 0 decremented value: 11
>> Process 0 decremented value: 10
>> Process 0 decremented value: 9
>> Process 0 decremented value: 8
>> Process 0 decremented value: 7
>> Process 0 decremented value: 6
>> Process 0 decremented value: 5
>> Process 0 decremented value: 4
>> Process 0 decremented value: 3
>> Process 0 decremented value: 2
>> Process 0 decremented value: 1
>> Process 0 decremented value: 0
>> Process 0 exiting
>> Process 1 exiting
>> Process 2 exiting
>> Process 3 exiting
>> Process 4 exiting
>>
>> running connectivity_d with 25 threads
>> Connectivity test on 25 processes PASSED.
>>
>> All of the basic examples included now work.
>> I just need to find more examples and other things so that I can make
>> sure that everything else is working properly.
>
> Hi All,
>
> Jude Young,
> Could you please share source code of your examples for me?
> I'm interested to learn more about parallel programming on D via MPI.
> And your sources can help me.
>
> Thank you.


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


More information about the Digitalmars-d mailing list