New subgroups - full changes set (#1074)
* Extended subgroups - extended types types
* Extended subgroups - non uniform vote tests
* Extended subgroups - non uniform arithmetic tests
* Extended subgroups - ballot tests
* Extended subgroups - clustered reduce tests
* Extended subgroups - shuffle tests
* Extended subgroups - formating issues
* Extended subgroups - review fixes
* Extended subgroups - review fixes
Fixed: removed additional brakes, kernel_sstr
* Extended subgroups - fix macos build error
* Extended subgroups - review fixes
Fixed: mac os build error
* Extended subgroups - data type verification example
* Extended subgroups - error unification
* Extended subgroups - fix header years
* Extended subgroups - use is_half_nan
* Extended subgroups - compare half as float
* Review fixes mostly for ballot functions.
- Modify kernels for better handling active/inactive workitems
- Modify gen/chk functions for handling non uniform workgroup sizes
- Introduce new variables naming convention
- minor fixes
* Extended subgroups - simplification data generation for ballot lsb/msb functions
* Extended subgroups - minor fixes
* Extended subgroups - move common code to function
* Extended subgroups - formatting errors fix
* Extended subgroups - fix build error
* Extended subgroups - sub_group_elect more sophisticated
Define mask which is 4bytes pattern where bit 1 means work item is active.
If workitem in subgroup matches pattern then run sub_group_elect()
* Extended subgroups - fix Ubuntu build error
* Extended subgroups - voting function review fixes
* adjust all function for using masks
* remove calculate templates
* merge code to one common template
* check results only in active workitems
* normalize values on host side
* minor fixes
* Extended subgroups - fix typos
* Set of fixes and improvements after review
* define WorkGroupParams to stop extended parameters list in function
* better workitems mask handing (WorkGroupParams)
* narrow values of data input generation to avoid overflows (arithmetic func)
* implement work item masks for arithmetic functions
* enable half type testing for reduction/scan/broadcast
* minor fixes
* Extended subgroups - fix Linux issues
* Extended subgroups - fix sub_group_local_id data type
* Extended subgroups - use vector instead of array.
* Extended subgroups - change names to subgroup
* Extended subgroups - uncomment code, fix build
* Extended subgroups - build fix, use cl_half_from_float func
* Extended subgroups - remove is_half_nan
* Extended subgroups - do no use undef min/max
* Extended subgroups - use parenthesis, fix formatting
18 files changed