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