Dear All,
I know that some of what are Level 2 and Level 3 routines are given in the
file 'hpl.chpl' of the benchmarks, has anybody got Routines, or a Module
which implement BLAS for Chapel? It may just be an interface into some C
routines, or as Chapel itself, especially given that many components of
Level 1 BLAS can be implemented extremely cleanly, if sub-optimally as
NRM2
s = + reduce [i in x.domain] x[i] ** 2;
// The above can overflow & underflow badly, and more
// importantly has poor accuracy characteristics unless
// 'x' satisfies certain criteria and in practice, would
// and should be implemented in a more effective fashion.
ASUM
s = + reduce [i in x.domain] abs(x[i]); // can also overflow
AMAX
i = maxloc reduce [i in x.domain] abs(x[i]);
SWAP
x <=> y;
COPY
x = y
SCALE
x *= a
AXPY
y += a * x
while for the implementations of
ROTG
Compute Given's Rotation
ROTMG
Compute Modified Given's Rotation
ROT
Apply Given's Rotation
ROTM
Apply Modified Given's Rotation
need lots more code than 1-liners and
DOT
vector inner product
while it can be expressed as a reduction, has lots of variants.
Regards - Damian
Pacific Engineering Systems International, 277-279 Broadway, Glebe NSW 2037
Ph:+61-2-8571-0847 .. Fx:+61-2-9692-9623 | unsolicited email not wanted here
Views & opinions here are mine and not those of any past or present employer
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users