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

Reply via email to