Why do you think it is not?
int i = 4*range.begin();
int end = 4*range.end();
for ( ; i < end; i += 4 )
// do interesting processing of four floats ( at &float_array[ i ], [ i+1 ], [ i+2 ] and [ i+3 ] )
What is suboptimal? Two additional left shifts (to multiply by four) per range will be barely perceptible in microbenchmarks I believe; in real programs, the difference will be within statistical uncertainty.
"So if I am understanding this correctly, setting a grainsize gives me an *upper* bound on the size of a range--ie. no larger than x?"
With simple_partitioner, that would be correct. The lower limit would then be half the grainsize, but it's reached only if grainsize is even, from grainsize+1, by one of the parts, I think (please correct me if I should have given this a little more thought), unless the range already started out smaller than that of course. The default partitioner is now auto_partitioner, and it wisely tries to process larger sizes than that, with still the same ultimate limit on divisibility.
"Anyone out there with suggestions on how to achieve an aligned parallel for?"
Do you know for sure that this is important, with auto_partitioner and Amdahl involved?
"Did I miss anything?"
With auto_partitioner, the range is divided into at least something like a dozen times the default number of worker threads parts (if you can parse that sentence), with "a dozen times" used intentionally because it's not documented, so that would be the upper bound. The lower bound (if you start from a larger size) is always grainsize/2 of course, and if grainsize is uneven it is certainly exclusive, but otherwise it depends...
"I'd simply like to understand if it's possible/how to do it, as it would improve my understading of the partitioner and of how grainsize is used."
There's no explicit support for that, but the workaround has been indicated above. Up to you to decide whether you want to go that route, depending on the application. If you think it'll make a difference, I'd be interested to see the evidence, but my intuition says that it probably won't do much for you.