类 Fp16Conversions
- java.lang.Object
-
- ai.onnxruntime.platform.Fp16Conversions
-
public final class Fp16Conversions extends java.lang.Object
fp16、bfloat16 和 fp32 之间的转换。
-
-
方法摘要
所有方法 静态方法 具体方法 修饰符和类型 方法 描述 static float
bf16ToFloat(short input)
将存储在 short 中的 bf16 值转换为 float 值。static java.nio.FloatBuffer
convertBf16BufferToFloatBuffer(java.nio.ShortBuffer buf)
将存储为 short 的 bf16 值缓冲区转换为 float 缓冲区。static java.nio.ShortBuffer
convertFloatBufferToBf16Buffer(java.nio.FloatBuffer buf)
将 float 缓冲区舍入为包含 bf16 值(在 Java 中存储为 short)的缓冲区。static java.nio.ShortBuffer
convertFloatBufferToFp16Buffer(java.nio.FloatBuffer buf)
将 float 缓冲区舍入为包含 fp16 值(在 Java 中存储为 short)的缓冲区。static java.nio.FloatBuffer
convertFp16BufferToFloatBuffer(java.nio.ShortBuffer buf)
将存储为 short 的 fp16 值缓冲区转换为 float 缓冲区。static short
floatToBf16(float input)
将 float 转换为 bf16。static short
floatToFp16(float input)
将 float 值转换为存储在 short 中的 fp16 值。static float
fp16ToFloat(short input)
将存储在 short 中的 fp16 值转换为 float 值。static short
mlasFloatToFp16(float input)
将 float 值舍入为 fp16。static float
mlasFp16ToFloat(short input)
将 fp16 值向上转换为 float。
-
-
-
方法详细信息
-
convertFloatBufferToFp16Buffer
public static java.nio.ShortBuffer convertFloatBufferToFp16Buffer(java.nio.FloatBuffer buf)
将 float 缓冲区舍入为包含 fp16 值(在 Java 中存储为 short)的缓冲区。遵守输入缓冲区的 position 和 limit。
- 参数
buf
- float 缓冲区。- 返回
- 存储为 short 的 fp16 值缓冲区。
-
convertFp16BufferToFloatBuffer
public static java.nio.FloatBuffer convertFp16BufferToFloatBuffer(java.nio.ShortBuffer buf)
将存储为 short 的 fp16 值缓冲区转换为 float 缓冲区。遵守输入缓冲区的 position 和 limit。
- 参数
buf
- 存储为 short 的 fp16 值缓冲区。- 返回
- float 值缓冲区。
-
convertFloatBufferToBf16Buffer
public static java.nio.ShortBuffer convertFloatBufferToBf16Buffer(java.nio.FloatBuffer buf)
将 float 缓冲区舍入为包含 bf16 值(在 Java 中存储为 short)的缓冲区。遵守输入缓冲区的 position 和 limit。
- 参数
buf
- float 缓冲区。- 返回
- 存储为 short 的 bf16 值缓冲区。
-
convertBf16BufferToFloatBuffer
public static java.nio.FloatBuffer convertBf16BufferToFloatBuffer(java.nio.ShortBuffer buf)
将存储为 short 的 bf16 值缓冲区转换为 float 缓冲区。遵守输入缓冲区的 position 和 limit。
- 参数
buf
- 存储为 short 的 bf16 值缓冲区。- 返回
- float 值缓冲区。
-
fp16ToFloat
public static float fp16ToFloat(short input)
将存储在 short 中的 fp16 值转换为 float 值。注意:在 Java 20 或更新版本中,此方法使用
Float.float16ToFloat
,它可能使用 CPU 特定的指令进行转换,否则它使用 ORT 本地实现的转换操作。- 参数
input
- fp16 值。- 返回
- float 值。
-
floatToFp16
public static short floatToFp16(float input)
将 float 值转换为存储在 short 中的 fp16 值。注意:在 Java 20 或更新版本中,此方法使用
Float.floatToFloat16
,它可能使用 CPU 特定的指令进行转换,否则它使用 ORT 本地实现的转换操作。- 参数
input
- float 值。- 返回
- fp16 值。
-
mlasFp16ToFloat
public static float mlasFp16ToFloat(short input)
将 fp16 值向上转换为 float。与 MLAS 中的转换相对应。- 参数
input
- 表示 IEEE 半精度 float 的 uint16_t。- 返回
- float 值。
-
mlasFloatToFp16
public static short mlasFloatToFp16(float input)
将 float 值舍入为 fp16。与 MLAS 中的转换相对应。- 参数
input
- float 值。- 返回
- 舍入为 IEEE 半精度值的值。
-
bf16ToFloat
public static float bf16ToFloat(short input)
将存储在 short 中的 bf16 值转换为 float 值。- 参数
input
- 表示 bfloat16 值的 uint16_t。- 返回
- float 值。
-
floatToBf16
public static short floatToBf16(float input)
将 float 转换为 bf16。对于次正规 float,可能不会生成正确的值。舍入到最近的偶数。
- 参数
input
- float 输入。- 返回
- 最接近 float 的 bfloat16 值。
-
-