Floating-point number vs fixed-point number: speed on Intel I5 CPU
<p>I have a C/C++ program which involves intensive <strong>32-bit floating-point</strong> matrix math computations such as addition, subtraction, multiplication, division, etc.</p>

<p>Can I speed up my program by converting <strong>32-bit floating-point</strong> numbers into <strong>16-bit fixed-point</strong> numbers ? How much speed gain can I get ? </p>

<p>Currently I'm working on a Intel I5 CPU. I'm using Openblas to perform the matrix calculations. How should I re-implement Openblas functions such as <em>cblas_dgemm</em> to perform fixed-point calculations ?</p>

<p>I know that SSE(Simple SIMD Extensions) operates on 4x32=8x16=128 bit data at one time, i.e., 4 32-bit floating-point type or 8 16-bit fixed-point type. I guess that after conversion from 32-bit floating-point to 16-bit fixed-point, my program would be twice faster.</p>