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