Compression of floating-point data by identifying a previous loss of precision

US9628107B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9628107-B2
Application numberUS-201414246725-A
CountryUS
Kind codeB2
Filing dateApr 7, 2014
Priority dateApr 7, 2014
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Each binary floating-point value in a set of binary floating-point values is converted to a decimal floating-point value. Data are determined including an exponent, a mantissa and a quantity of decimal digits of the mantissa for each decimal floating-point value. The exponents, the mantissas and the quantity of decimal digits are individually compressed to produce compressed floating-point values based on the individual compressions.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for compressing floating-point data, the system comprising: at least one processor configured to: convert each binary floating-point value in a set of binary floating-point values to a decimal floating-point value; determine data for each decimal floating-point value including an exponent, a mantissa, and a quantity of decimal digits of the mantissa; and individually compress the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values and produce compressed floating-point values based on the individual compressions. 2. The system of claim 1 , wherein the converting includes: generating a mantissa with a minimum number of digits; and wherein the determining data includes: determining whether one or more of the exponent and the quantity of decimal digits are constant for the decimal floating-point values. 3. The system of claim 1 , wherein the individually compressing includes: analyzing the determined data to identify reduced precision within the decimal floating-point values and producing the compressed floating-point values based on the reduced precision. 4. The system of claim 1 , wherein the converting includes at least one from the group of: normalizing a position of a decimal point; and normalizing a length of a mantissa. 5. The system of claim 1 , wherein the individually compressing includes: compressing the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values using a plurality of compression formats. 6. The system of claim 5 , wherein the individually compressing further includes: selecting a compressed exponent, a compressed mantissa and a compressed quantity of decimal digits with a shortest bit length from results of the compressing using the plurality of compression formats. 7. The system of claim 5 , wherein each converted binary floating-point value comprises a corresponding set of the exponent, the mantissa and the quantity of decimal digits to form a data triplet for the individually compressing the exponents, the mantissas and the quantity of decimal digits, and the at least one processor is further configured to: process each data triplet among plural parallel processing paths, wherein each processing path includes one or more from the group of: compressing the values in each data triplet; normalizing the exponent in each data triplet and compressing the values in each data triplet; normalizing the mantissa length in each data triplet and compressing the values in each data triplet; and normalizing the exponent and the mantissa length in each data triplet and compressing the values in each data triplet; and select a compressed data triplet comprising a shortest bit length from among the compressed data triplets processed among the plural parallel processing paths. 8. A computer program product for compressing floating-point data, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to: convert each binary floating-point value in a set of binary floating-point values to a decimal floating-point value; determine data for each decimal floating-point value including an exponent, a mantissa, and a quantity of decimal digits of the mantissa; and individually compress the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values and produce compressed floating-point values based on the individual compressions. 9. The computer program product of claim 8 , wherein the converting includes: generating a mantissa with a minimum number of digits; and wherein the determining data includes: determining whether one or more of the exponent and the quantity of decimal digits are constant for the decimal floating-point values. 10. The computer program product of claim 8 , wherein the individually compressing includes: analyzing the determined data to identify reduced precision within the decimal floating-point values and producing the compressed floating-point values based on the reduced precision. 11. The computer program product of claim 8 , wherein the individually compressing includes: compressing the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values using a plurality of compression formats. 12. The computer program product of claim 11 , wherein the computer readable program code further comprises computer readable program code configured to: select a compressed exponent, a compressed mantissa and a compressed quantity of decimal digits with a shortest bit length from results of the compressing using the plurality of compression formats. 13. The computer program product of claim 8 , wherein each converted binary floating-point value comprises a corresponding set of the exponent, the mantissa and the quantity of decimal digits to form a data triplet for the individually compressing the exponents, the mantissas and the quantity of decimal digits, and the computer readable program code further comprises computer readable program code configured to: process each data triplet among plural parallel processing paths, wherein each processing path includes one or more from the group of: compressing the values in each data triplet; normalizing the determined exponent in each data triplet and compressing the values in each data triplet; normalizing the mantissa length in each data triplet and compressing the values in each data triplet; and normalizing the determined exponent and the mantissa length in each data triplet and compressing the values in each data triplet; and select a compressed data triplet comprising a shortest bit length from among the compressed data triplets processed among the plural parallel processing paths. 14. The computer program product of claim 8 , wherein the converting includes at least one from the group of: normalizing a position of a decimal point; and normalizing a length of a mantissa.

Assignees

Inventors

Classifications

  • Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title

  • H03M7/24Primary

    Conversion to or from floating-point codes · CPC title

  • H03M7/00Primary

    Conversion of a code where information is represented by a given sequence or number of digits to a code where the same {, similar or subset of} information is represented by a different sequence or number of digits · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9628107B2 cover?
Each binary floating-point value in a set of binary floating-point values is converted to a decimal floating-point value. Data are determined including an exponent, a mantissa and a quantity of decimal digits of the mantissa for each decimal floating-point value. The exponents, the mantissas and the quantity of decimal digits are individually compressed to produce compressed floating-point valu…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H03M7/24. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).