logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

vstorea_halfn - Convert float vector to half vector and write to a pointer to memory.

Authors

TheKhronosGroup

Description

       The floatn (or doublen if optional double is supported) value igiven by data is converted to a halfn
       value using the appropriate rounding mode.

       For n = 1, 2, 4, 8 and 16, the halfn value is written to the address computed as (p + (offset * n)). The
       address computed as (p + (offset * n)) must be aligned to sizeof (halfn) bytes.

       For n = 3, the half3 value is written to the address computed as (p + (offset * 4)). The address computed
       as (p + (offset * 4)) must be aligned to sizeof (half) * 4 bytes.

       vstorea_halfn uses the default rounding mode. The default rounding mode is round to the nearest even.

       An application that wants to use half and halfn types will need to include the #pragma OPENCL EXTENSION
       cl_khr_fp16(3clc) : enable directive.

Name

       vstorea_halfn - Convert float vector to half vector and write to a pointer to memory.

       voidvstorea_halfn(floatn data,size_toffset,__globalhalf*p);voidvstorea_halfn_rte(floatn data,size_toffset,__globalhalf*p);voidvstorea_halfn_rtz(floatn data,size_toffset,__globalhalf*p);voidvstorea_halfn_rtp(floatn data,size_toffset,__globalhalf*p);voidvstorea_halfn_rtn(floatn data,size_toffset,__globalhalf*p);voidvstorea_halfn(floatn data,size_toffset,__localhalf*p);voidvstorea_halfn_rte(floatn data,size_toffset,__localhalf*p);voidvstorea_halfn_rtz(floatn data,size_toffset,__localhalf*p);voidvstorea_halfn_rtp(floatn data,size_toffset,__localhalf*p);voidvstorea_halfn_rtn(floatn data,size_toffset,__localhalf*p);voidvstorea_halfn(floatn data,size_toffset,__privatehalf*p);voidvstorea_halfn_rte(floatn data,size_toffset,__privatehalf*p);voidvstorea_halfn_rtz(floatn data,size_toffset,__privatehalf*p);voidvstorea_halfn_rtp(floatn data,size_toffset,__privatehalf*p);voidvstorea_halfn_rtn(floatn data,size_toffset,__privatehalf*p);

       If the optional double is supported, you may use doublen
       instead of floatn.

Notes

        1. OpenCL Specification
           page 267, section 6.12.7 - Vector Data Load and Store Functions

The Khronos Group                                  11/18/2024                                VSTOREA_HALFN(3clc)

See Also

vectorDataLoadandStoreFunctions(3clc)

Specification

OpenCLSpecification[1]

See Also