[Libre-soc-bugs] [Bug 713] PartitionedSignal enhancement to add partition-context-aware lengths

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Oct 13 16:18:29 BST 2021


https://bugs.libre-soc.org/show_bug.cgi?id=713

--- Comment #104 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
ok, added this example:

    # example "exponent"
    #  https://libre-soc.org/3d_gpu/architecture/dynamic_simd/shape/
    # 1xFP64: 11 bits, one exponent
    # 2xFP32: 8 bits, two exponents
    # 4xFP16: 5 bits, four exponents
    # 4xBF16: 8 bits, four exponents
    vec_el_counts = {
        0: 1,  # QTY 1x FP64
        1: 2,  # QTY 2x FP32
        2: 4,  # QTY 4x FP16
        3: 4,  # QTY 4x BF16
    }
    widths_at_elwidth = {
        0: 11, # FP64 ew=0b00
        1: 8,  # FP32 ew=0b01
        2: 5,  # FP16 ew=0b10
        3: 8   # BF16 ew=0b11
    }

which is returning these results: dict_keys([5, 8, 11, 13, 16, 21, 24, 29])

which doesn't match expected:

    # expected results:
    #
    #        |31|  |  |24|     16|15  |  |   8|7     0 |
    #        |31|28|26|24| |20|16|  12|  |10|8|5|4   0 |
    #  32bit | x| x| x|  |      x|   x| x|10 ....    0 |
    #  16bit | x| x|26    ... 16 |   x| x|10 ....    0 |
    #  8bit  | x|28 .. 24|  20.16|   x|11 .. 8|x|4.. 0 |
    #  unused  x                     x

drat.

i don't know why.  it's calculating the correct (expected)
width of 32.  unsure what's going on, here.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list