Hi -
The Chapel compiler currently treats the `inline` keyword
as a requirement rather than a hint. So I wouldn't expect
any performance difference between ` inline proc fredNoParallel`
and manually copying the body of that function to its call site.
In other words, if there is the `inline` keyword, your two
examples should have the same performance. (If there
is no `inline` keyword, then, it depends.)
Best,
-michael
Is it better to have effectively a serial proc called from a forall
inline proc fredNoParallel(ref row : [?vD], ...)
{
... no parallel statements
}
forall i in 1..n do fredNoParallel(a[i, ..), ....)
or instead lump the lot together as in
inline proc fredfParallel(ref a : [?aD] ?R,
{
forall i in 1..n do
{
work with a[i, ..) and other stuff
}
}
fredParallel(a, ...);
Just curious what style works better for the optimizer?
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
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers