Results 1 to 5 of 5

Thread: 8-bit and 16-bit operands in SIMD

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Member SolidComp's Avatar
    Join Date
    Jun 2015
    Location
    USA
    Posts
    353
    Thanks
    131
    Thanked 54 Times in 38 Posts

    8-bit and 16-bit operands in SIMD

    Hi all – Do the vector/SIMD features of Intel/AMD CPUs let you work on 8-bit and 16-bit integers, and 16-bit floats? I must be looking in the wrong places because the answer isn't popping out. Like on AVX2 256-bit registers can you pack them with 8-bit integers?

    Thanks.

  2. #2
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    4,006
    Thanks
    301
    Thanked 1,322 Times in 755 Posts
    Mostly yes, just no 16-bit floats.
    https://software.intel.com/sites/lan...ntrinsicsGuide

  3. #3
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,576
    Thanks
    789
    Thanked 687 Times in 372 Posts
    16-bit floats (BF16) support was added in recent Intel server/AI products: https://www.google.com/search?q=bf16...hrome&ie=UTF-8

  4. #4
    Member SolidComp's Avatar
    Join Date
    Jun 2015
    Location
    USA
    Posts
    353
    Thanks
    131
    Thanked 54 Times in 38 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    16-bit floats (BF16) support was added in recent Intel server/AI products: https://www.google.com/search?q=bf16...hrome&ie=UTF-8
    Oh yes, that's a second 16-bit floating point format, the one Google recently created for machine learning. The full name is bfloat16. I don't know much about it, but it seems like they're only supported in Intel CPUs that haven't been released yet or are very rare.

    The main 16-bit format is the classic IEEE 754-2008 "half precision" or binary16 floating point. That's the one Intel and AMD support with their F16C conversion instruction set (Ivy Bridge and up), but I wasn't sure about actual computation support in the big registers.

    bfloat16 has more exponent bits and fewer significand bits compared to IEEE 754 half-precision floats, so more range but less precision.

  5. #5
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    4,006
    Thanks
    301
    Thanked 1,322 Times in 755 Posts
    Sure, they are in there too: https://software.intel.com/sites/lan...16&expand=1651
    But who has access to these?..

Similar Threads

  1. 32 bit or 64 bit Windows usage case
    By necros in forum The Off-Topic Lounge
    Replies: 10
    Last Post: 18th August 2016, 09:57
  2. 64-bit Cygwin
    By nburns in forum The Off-Topic Lounge
    Replies: 8
    Last Post: 17th July 2013, 07:50
  3. Compression benchmarking: 64 bit images and 24 bit codecs
    By m^2 in forum The Off-Topic Lounge
    Replies: 6
    Last Post: 30th November 2011, 17:01
  4. Fast Bit I/O
    By encode in forum Data Compression
    Replies: 12
    Last Post: 10th October 2011, 15:17
  5. BIT Archiver
    By osmanturan in forum Data Compression
    Replies: 137
    Last Post: 16th January 2009, 20:19

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •