A.1 About OpenCL data types

This appendix lists the data types available in OpenCL. Most of these types are all natively supported by the Mali™ GPU hardware.

The OpenCL types are used in OpenCL C. The API types are equivalents for use in your application. Use these to ensure that the correct data is used, and it is aligned on 128-bit or 16-byte boundaries.

Up to 32-bits per chunk can work as vectors on Mali Bifrost and Valhall GPUs. This means you can use char, short, and half in vectors.

Converting between vector types has a low performance cost on Mali GPUs. For example, converting a vector of 8-bit values to 16-bit values:

ushort8 a;  uchar8 b;
a = convert_ushort8(b);
Non-ConfidentialPDF file icon PDF version101574_0301_00_en
Copyright © 2019 Arm Limited or its affiliates. All rights reserved.