added powerof2 function
added arbitary sized reduce with one block
adding multiblock reduce, bug fix