AOCL-DLP automatically handles BF16 operations on hardware that lacks native AVX512_BF16 support. BF16 API calls work unchanged across all hardware – the library performs runtime detection and transparent rerouting.
Hardware |
ISA Available |
What Happens |
|---|---|---|
AMD Zen4+, Intel Cooper Lake+ |
AVX512_BF16 |
Native BF16 instructions – best performance |
AMD Zen1-3 |
AVX2 only |
BF16 inputs converted to f32, computed on AVX2 f32 kernels |
Intel Skylake, Cascade Lake, Ice Lake |
AVX512 (no BF16) |
BF16 inputs converted to f32, computed on AVX512 f32 kernels |
When fallback is active:
BF16 to F32 conversion on input
F32 computation
F32 to BF16 conversion on output (if output type is bf16)
Performance impact: conversion overhead plus 2x memory bandwidth for intermediates
No code changes are needed. The same aocl_gemm_bf16bf16f32of32() call works on all platforms.