Klasse Fp16Conversions


  • public final class Fp16Conversions
    extends java.lang.Object
    Konvertierungen zwischen fp16, bfloat16 und fp32.
    • Zusammenfassung der Methoden

      Alle Methoden Statische Methoden Konkrete Methoden 
      Modifikator und Typ Methode Beschreibung
      static float bf16ToFloat​(short input)
      Konvertiert einen bf16-Wert, der in einem short gespeichert ist, in einen float-Wert.
      static java.nio.FloatBuffer convertBf16BufferToFloatBuffer​(java.nio.ShortBuffer buf)
      Gibt einen Puffer von bf16-Werten, die als Shorts gespeichert sind, als Puffer von Floats aus.
      static java.nio.ShortBuffer convertFloatBufferToBf16Buffer​(java.nio.FloatBuffer buf)
      Rundet einen Puffer von Floats zu einem Puffer mit bf16-Werten (in Java als Shorts gespeichert).
      static java.nio.ShortBuffer convertFloatBufferToFp16Buffer​(java.nio.FloatBuffer buf)
      Rundet einen Puffer von Floats zu einem Puffer mit fp16-Werten (in Java als Shorts gespeichert).
      static java.nio.FloatBuffer convertFp16BufferToFloatBuffer​(java.nio.ShortBuffer buf)
      Gibt einen Puffer von fp16-Werten, die als Shorts gespeichert sind, als Puffer von Floats aus.
      static short floatToBf16​(float input)
      Konvertiert einen Float in bf16.
      static short floatToFp16​(float input)
      Konvertiert einen Float-Wert in einen fp16-Wert, der in einem Short gespeichert ist.
      static float fp16ToFloat​(short input)
      Konvertiert einen fp16-Wert, der in einem Short gespeichert ist, in einen Float-Wert.
      static short mlasFloatToFp16​(float input)
      Rundet einen Float-Wert auf fp16.
      static float mlasFp16ToFloat​(short input)
      Stellt einen fp16-Wert in einem Float dar.
      • Methoden geerbt von Klasse java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Detail der Methoden

      • convertFloatBufferToFp16Buffer

        public static java.nio.ShortBuffer convertFloatBufferToFp16Buffer​(java.nio.FloatBuffer buf)
        Rundet einen Puffer von Floats zu einem Puffer mit fp16-Werten (in Java als Shorts gespeichert).

        Berücksichtigt die Position und das Limit des Eingabepuffers.

        Parameter
        buf - Der Puffer von Floats.
        Rückgabe
        Ein Puffer von fp16-Werten, die als Shorts gespeichert sind.
      • convertFp16BufferToFloatBuffer

        public static java.nio.FloatBuffer convertFp16BufferToFloatBuffer​(java.nio.ShortBuffer buf)
        Gibt einen Puffer von fp16-Werten, die als Shorts gespeichert sind, als Puffer von Floats aus.

        Berücksichtigt die Position und das Limit des Eingabepuffers.

        Parameter
        buf - Der Puffer von fp16-Werten, die als Shorts gespeichert sind.
        Rückgabe
        Ein Puffer von Float-Werten.
      • convertFloatBufferToBf16Buffer

        public static java.nio.ShortBuffer convertFloatBufferToBf16Buffer​(java.nio.FloatBuffer buf)
        Rundet einen Puffer von Floats zu einem Puffer mit bf16-Werten (in Java als Shorts gespeichert).

        Berücksichtigt die Position und das Limit des Eingabepuffers.

        Parameter
        buf - Der Puffer von Floats.
        Rückgabe
        Ein Puffer von bf16-Werten, die als Shorts gespeichert sind.
      • convertBf16BufferToFloatBuffer

        public static java.nio.FloatBuffer convertBf16BufferToFloatBuffer​(java.nio.ShortBuffer buf)
        Gibt einen Puffer von bf16-Werten, die als Shorts gespeichert sind, als Puffer von Floats aus.

        Berücksichtigt die Position und das Limit des Eingabepuffers.

        Parameter
        buf - Der Puffer von bf16-Werten, die als Shorts gespeichert sind.
        Rückgabe
        Ein Puffer von Float-Werten.
      • fp16ToFloat

        public static float fp16ToFloat​(short input)
        Konvertiert einen fp16-Wert, der in einem Short gespeichert ist, in einen Float-Wert.

        Hinweis: Bei Java 20 oder neuer wird Float.float16ToFloat verwendet, das möglicherweise CPU-spezifische Befehle für die Konvertierung nutzt. Andernfalls wird die Konvertierungsoperation aus der nativen Implementierung von ORT verwendet.

        Parameter
        input - Der fp16-Wert.
        Rückgabe
        Der Float-Wert.
      • floatToFp16

        public static short floatToFp16​(float input)
        Konvertiert einen Float-Wert in einen fp16-Wert, der in einem Short gespeichert ist.

        Hinweis: Bei Java 20 oder neuer wird Float.floatToFloat16 verwendet, das möglicherweise CPU-spezifische Befehle für die Konvertierung nutzt. Andernfalls wird die Konvertierungsoperation aus der nativen Implementierung von ORT verwendet.

        Parameter
        input - Der Float-Wert.
        Rückgabe
        Der fp16-Wert.
      • mlasFp16ToFloat

        public static float mlasFp16ToFloat​(short input)
        Stellt einen fp16-Wert in einem Float dar. Spiegelt die Konvertierung in MLAS wider.
        Parameter
        input - Ein uint16_t, das einen IEEE-Halbpräzisions-Float darstellt.
        Rückgabe
        Ein Float.
      • mlasFloatToFp16

        public static short mlasFloatToFp16​(float input)
        Rundet einen Float-Wert auf fp16. Spiegelt die Konvertierung in MLAS wider.
        Parameter
        input - Ein Float-Wert.
        Rückgabe
        Der auf einen IEEE-Halbpräzisionswert gerundete Wert.
      • bf16ToFloat

        public static float bf16ToFloat​(short input)
        Konvertiert einen bf16-Wert, der in einem short gespeichert ist, in einen float-Wert.
        Parameter
        input - Ein uint16_t, das einen bfloat16-Wert darstellt.
        Rückgabe
        Ein Float.
      • floatToBf16

        public static short floatToBf16​(float input)
        Konvertiert einen Float in bf16. Möglicherweise werden für subnormale Floats keine korrekten Werte erzeugt.

        Rundet auf die nächste gerade Zahl.

        Parameter
        input - Der Float-Eingabewert.
        Rückgabe
        Ein bfloat16-Wert, der dem Float am nächsten liegt.