added divide_range_aligned
first draft of multi-gpu gcd