類 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。
      • 從類 java.lang.Object 繼承的方法

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法詳細資訊

      • 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 值。