compute 1.x: pass shapes of free arrays as kernel parameters
bug fix: permute launch configuration

thread launch configuration should be based on the size of the source array, not the defaults