We currently have the collaborative/ directory and the sequence_ops/ directory. This is less than ideal, for three reasons:
sequence_ops/ are also a kind of collaborative primitives
Some primitives in the collaborative/ directory can be considered "sequence operations". Actually, lots or even most primitives in the linear_grid namespace are liked that - with the foremost examples being at_grid_stride, at_block_stride and at_warp_stride.
In collaborative/, the linear_grid namespace and non-linear-grid primitives are bunched together in the same file - but not beyond that, i.e. there's no synergy from holding them together.
How should they be rearranged? Good question... I guess:
Everything in a collaborative/ subdir.
Linear grids in a subdir
Then split by kind of collaborative op. Say, "traversal/visitation", "communication", "std_numeric", "std_algorithms", "others"
Same as 3., but for non-linear grids (whatever is already implemented of course)
We currently have the
collaborative/
directory and thesequence_ops/
directory. This is less than ideal, for three reasons:sequence_ops/
are also a kind of collaborative primitivescollaborative/
directory can be considered "sequence operations". Actually, lots or even most primitives in thelinear_grid
namespace are liked that - with the foremost examples beingat_grid_stride
,at_block_stride
andat_warp_stride
.collaborative/
, thelinear_grid
namespace and non-linear-grid primitives are bunched together in the same file - but not beyond that, i.e. there's no synergy from holding them together.How should they be rearranged? Good question... I guess:
collaborative/
subdir.