Skip to content

Add 16 and maybe 8 bit FP datatypes #559

Description

@lstewart

Problem Statement

CPUs and GPUs have added support for 16 bit and 8 bit floating point datatypes. SHMEM should support them.

Proposed Changes

Propose adding support for important new datatypes. BF16 and FP16 are candidates.
FP8 is a less likely possibility.

Support is easy for data movement APIs, Put, Get, Collect, Broadcast, Alltoall
Support for computational atomics is easy if there is hardware support.
Support for Reductions is a good question for discussion. I think it might be useful to have a new kind of reduction in which the target buffer is a different datatype than the source. One could do a sum-reduct from BF16 to FP32 for example, to retain more precision.

Impact on Implementations

Impact on Users

Adds new capabilities, no impact on existing applications.

References and Pull Requests

The Great 8 Bit Debate of Artificial Intelligence
BF16 vs FP16

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions