类 Fp16Conversions
- java.lang.Object
-
- ai.onnxruntime.platform.Fp16Conversions
-
public final class Fp16Conversions extends java.lang.Objectfp16、bfloat16 和 fp32 之间的转换。
-
-
方法摘要
所有方法 静态方法 具体方法 修饰符和类型 方法 描述 static floatbf16ToFloat(short input)将存储在 short 中的 bf16 值转换为 float 值。static java.nio.FloatBufferconvertBf16BufferToFloatBuffer(java.nio.ShortBuffer buf)将存储为 short 的 bf16 值缓冲区转换为 float 缓冲区。static java.nio.ShortBufferconvertFloatBufferToBf16Buffer(java.nio.FloatBuffer buf)将 float 缓冲区舍入为包含 bf16 值(在 Java 中存储为 short)的缓冲区。static java.nio.ShortBufferconvertFloatBufferToFp16Buffer(java.nio.FloatBuffer buf)将 float 缓冲区舍入为包含 fp16 值(在 Java 中存储为 short)的缓冲区。static java.nio.FloatBufferconvertFp16BufferToFloatBuffer(java.nio.ShortBuffer buf)将存储为 short 的 fp16 值缓冲区转换为 float 缓冲区。static shortfloatToBf16(float input)将 float 转换为 bf16。static shortfloatToFp16(float input)将 float 值转换为存储在 short 中的 fp16 值。static floatfp16ToFloat(short input)将存储在 short 中的 fp16 值转换为 float 值。static shortmlasFloatToFp16(float input)将 float 值舍入为 fp16。static floatmlasFp16ToFloat(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 值。
-
-