Hi Mikel -

As part of learning about parallel programming, using Chapel
is absolutely an appropriate way to see the advantages of
parallelization. Brad was saying that if you want maximum
absolute single-node performance, we don't expect Chapel to beat
OpenMP at this time.

Chapel does make it easier to learn about parallel programming
because you can learn about single and multi-node programming
within a single language that has consistent design. Similarly,
you can learn about task-parallelism and data-parallelism
within one language.

Cheers,

-michael

On 10/1/15, 6:24 PM, "Mikel Antoñana" <[email protected]> wrote:

>Hi, 
>
>Although I have no experience with parallel programming, I have to study
>the advantage of
>parallelization of one numerical integration method. First, I learned
>myself about parallel programming and I considered two alternatives :
>OpenMP and MPI.  Finally, I  have used an OpenMP
> because it is simple.
>
>I have read some documents about Chapel and I like your goals. I hope I
>will take time to understand better parallel programming and to learn
>programming in Chapel for a future project.
>
>
>
>
>Thank you for your help.
>
>Mikel
>
>
>
>
>
>2015-09-30 0:03 GMT+02:00 Brad Chamberlain
><[email protected]>:
>
>
>Hi Mikel --
>
>Tom's right that we don't have much free time this week, but a few things
>in your message stuck out for me:
>
>* Increasingly, Chapel's single-node performance is competitive with
>  C+OpenMP.  For a good OpenMP implementation and computation that fits
>  OpenMP well, I believe it would be challenging for Chapel to outperform
>  OpenMP.  So I think your reasons for moving to Chapel for a scenario
>  like this would need to be "I want to take advantage of the productivity
>  and expressiveness features of Chapel" rather than "I want to create
>  something that outperforms my existing OpenMP code.  Put another way,
>  if OpenMP isn't hampering you, Chapel may not be a win.
>
>* If you wanted to move to a distributed memory execution, that may be
>  a reason to move to Chapel since OpenMP can only target shared memory
>  and accelerators.  Whether or not Chapel would give you good performance
>  in this setting will depend a lot on the characteristics of your
>  computation...
>
>* You mention quad precision arithmetic, which is something that Chapel
>  does not support at present.  We discussed adding it early in the
>  project's history, but at that time, it was difficult to predict
>  how support for quad precision might vary across machines, so we left
>  it out for the time being.  I suspect adding it in would not be
>  terribly complicated for a back-end C compiler with good support for
>  it, but I mostly wanted to emphasize that it is not available today.
>
>Hope this is helpful,
>-Brad
>
>
>
>On Tue, 29 Sep 2015, Tom MacDonald wrote:
>
>
>Hi Mikel,
>
>The Chapel team is racing toward a release this week and
>it might take us a few days to respond. We appreciate your
>interest and Chapel and ask for a little patience.
>
>Best wishes,
>
>Tom MacDonald
>Chapel Manager
>
>On Tue, 29 Sep 2015, Mikel Antoñana wrote:
>
>Hi,
>
>I have developed an numerical integration algorithm in language C and  I
>ask
>myself if I should programme it in Chapel to get better performance.
>Next,
>I  give a short description of the algorithm.
>
> A huge number of integration steps are taken.
> Only a small part of the code can be evaluated in parallel (I have used
>Open MP model)  and  the ?fun? evaluation is expensive.
>The units of work to run in parallel is small (p.e ns=6),  so  I carry out
>the computation in a multicore desktop.
> I need to increase the accuracy of the solution and in the next future, I
>will make some computations using  quadruple precision arithmetic.
>
>
>  Algorithm       
>
>             for k=1 to steps
>                {
>                        .....
>                       #      pragma omp parallel for
>num_threads(thread_count) private(isn)
>
>                              for (is = 0; is<ns; is++)
>                               {
>                                   isn=neq*is;
>                                   fun
>(neq,u,&z[isn],&fz[isn],params,thestatptr);
>                              }
>                      .....
>                }
>
>
>I thank you sincerely your opinion.
>
>
>Regards,
>Mikel.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


------------------------------------------------------------------------------
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to