Changeset 3699 in CLRX


Ignore:
Timestamp:
Feb 2, 2018, 3:27:53 PM (2 years ago)
Author:
matszpk
Message:

CLRadeonExtender: Update ROCmMetadata testsuite.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/tests/amdbin/ROCmMetadata.cpp

    r3698 r3699  
    3333    const char* input;      // input metadata string
    3434    ROCmMetadata expected;
     35    bool good;
     36    const char* error;
    3537};
    3638
     
    162164                }
    163165            }
    164         }
     166        },
     167        true, ""
     168    },
     169    {   // test 1
     170        R"ffDXD(---
     171Version:         [ 1, 0 ]
     172Printf:         
     173  - '1:1:4:index\72%d\n'
     174  - '2:4:4:4:4:4:i=%d,a=%f,b=%f,c=%f\n'
     175Kernels:         
     176  - Name:            vectorAdd
     177    SymbolName:      'vectorAdd@kd'
     178    Language:        OpenCL C
     179    LanguageVersion: [ 1, 2 ]
     180    Attrs:
     181      ReqdWorkGroupSize:
     182        - 7
     183        - 9
     184        - 11
     185      WorkGroupSizeHint:
     186        - 112
     187        - 33
     188        - 66
     189      VecTypeHint: uint8
     190      RuntimeHandle:  kernelRT
     191    Args:           
     192      - Name:            n
     193        TypeName:        uint
     194        Size:            4
     195        Align:           4
     196        ValueKind:       ByValue
     197        ValueType:       U32
     198        AccQual:         Default
     199        ActualAccQual:   Default
     200      - Name:            a
     201        TypeName:        'float*'
     202        Size:            8
     203        Align:           8
     204        ValueKind:       GlobalBuffer
     205        ValueType:       F32
     206        AddrSpaceQual:   Global
     207        AccQual:         ReadOnly
     208        ActualAccQual:   ReadWrite
     209        IsConst:         true
     210      - Name:            b
     211        TypeName:        'float*'
     212        Size:            8
     213        Align:           8
     214        ValueKind:       GlobalBuffer
     215        ValueType:       F32
     216        AddrSpaceQual:   Global
     217        AccQual:         WriteOnly
     218        ActualAccQual:   WriteOnly
     219        IsConst:         true
     220      - Name:            c
     221        TypeName:        'float*'
     222        Size:            8
     223        Align:           8
     224        ValueKind:       GlobalBuffer
     225        ValueType:       F32
     226        AddrSpaceQual:   Global
     227        AccQual:         ReadWrite
     228        ActualAccQual:   ReadOnly
     229      - Size:            8
     230        Align:           8
     231        ValueKind:       HiddenGlobalOffsetX
     232        ValueType:       I64
     233      - Size:            8
     234        Align:           8
     235        ValueKind:       HiddenGlobalOffsetY
     236        ValueType:       I64
     237      - Size:            8
     238        Align:           8
     239        ValueKind:       HiddenGlobalOffsetZ
     240        ValueType:       I64
     241      - Size:            8
     242        Align:           8
     243        ValueKind:       HiddenPrintfBuffer
     244        ValueType:       I8
     245        AddrSpaceQual:   Global
     246      - Size:            8
     247        Align:           8
     248        ValueKind:       HiddenCompletionAction
     249        ValueType:       I8
     250        AddrSpaceQual:   Global
     251    CodeProps:       
     252      KernargSegmentSize: 64
     253      GroupSegmentFixedSize: 120
     254      PrivateSegmentFixedSize: 408
     255      KernargSegmentAlign: 8
     256      WavefrontSize:   64
     257      NumSGPRs:        14
     258      NumVGPRs:        11
     259      MaxFlatWorkGroupSize: 256
     260      FixedWorkGroupSize: [ 11, 91, 96 ]
     261      NumSpilledSGPRs: 12
     262      NumSpilledVGPRs: 37
     263...
     264)ffDXD",
     265        {
     266            { 1, 0 }, // version
     267            {    // printfInfos
     268                { 1, { 4 }, "index:%d\n" },
     269                { 2, { 4, 4, 4, 4 }, "i=%d,a=%f,b=%f,c=%f\n" }
     270            },
     271            {
     272                {   // kernel 0
     273                    "vectorAdd", "vectorAdd@kd",
     274                    {   // arguments
     275                        { "n", "uint", 4, 4, 0, ROCmValueKind::BY_VALUE,
     276                          ROCmValueType::UINT32, ROCmAddressSpace::NONE,
     277                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     278                          false, false, false },
     279                        { "a", "float*", 8, 8, 0, ROCmValueKind::GLOBAL_BUFFER,
     280                          ROCmValueType::FLOAT32, ROCmAddressSpace::GLOBAL,
     281                          ROCmAccessQual::READ_ONLY, ROCmAccessQual::READ_WRITE,
     282                          true, false, false },
     283                        { "b", "float*", 8, 8, 0, ROCmValueKind::GLOBAL_BUFFER,
     284                          ROCmValueType::FLOAT32, ROCmAddressSpace::GLOBAL,
     285                          ROCmAccessQual::WRITE_ONLY, ROCmAccessQual::WRITE_ONLY,
     286                          true, false, false },
     287                        { "c", "float*", 8, 8, 0, ROCmValueKind::GLOBAL_BUFFER,
     288                          ROCmValueType::FLOAT32, ROCmAddressSpace::GLOBAL,
     289                          ROCmAccessQual::READ_WRITE, ROCmAccessQual::READ_ONLY,
     290                          false, false, false },
     291                        { "", "", 8, 8, 0, ROCmValueKind::HIDDEN_GLOBAL_OFFSET_X,
     292                          ROCmValueType::INT64, ROCmAddressSpace::NONE,
     293                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     294                          false, false, false },
     295                        { "", "", 8, 8, 0, ROCmValueKind::HIDDEN_GLOBAL_OFFSET_Y,
     296                          ROCmValueType::INT64, ROCmAddressSpace::NONE,
     297                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     298                          false, false, false },
     299                        { "", "", 8, 8, 0, ROCmValueKind::HIDDEN_GLOBAL_OFFSET_Z,
     300                          ROCmValueType::INT64, ROCmAddressSpace::NONE,
     301                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     302                          false, false, false },
     303                        { "", "", 8, 8, 0, ROCmValueKind::HIDDEN_PRINTF_BUFFER,
     304                          ROCmValueType::INT8, ROCmAddressSpace::GLOBAL,
     305                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     306                          false, false, false },
     307                        { "", "", 8, 8, 0, ROCmValueKind::HIDDEN_COMPLETION_ACTION,
     308                          ROCmValueType::INT8, ROCmAddressSpace::GLOBAL,
     309                          ROCmAccessQual::DEFAULT, ROCmAccessQual::DEFAULT,
     310                          false, false, false }
     311                    },
     312                     "OpenCL C", { 1, 2 },
     313                     { 7, 9, 11 },
     314                     { 112, 33, 66 },
     315                     "uint8", "kernelRT", 64, 120, 408, 8, 64,
     316                     14, 11, 256,
     317                     { 11, 91, 96 },
     318                     12, 37
     319                }
     320            }
     321        },
     322        true, ""
    165323    }
    166324};
     
    183341    }
    184342    // now we load binary
    185     ROCmBinary binary(output.size(), output.data(), ROCMBIN_CREATE_METADATAINFO);
    186343    const ROCmMetadata& expected = testCase.expected;
    187     const ROCmMetadata& result = binary.getMetadataInfo();
     344    ROCmMetadata result;
     345    bool good = true;
     346    CString error;
     347    try
     348    {
     349        ROCmBinary binary(output.size(), output.data(), ROCMBIN_CREATE_METADATAINFO);
     350        result = binary.getMetadataInfo();
     351    }
     352    catch(const ParseException& ex)
     353    {
     354        good = false;
     355        error = ex.what();
     356    }
    188357   
    189358    char testName[30];
    190359    snprintf(testName, 30, "Test #%u", testId);
     360    assertValue(testName, "good", testCase.good, good);
     361    assertString(testName, "error", testCase.error, error.c_str());
     362   
    191363    assertValue(testName, "version[0]", expected.version[0], result.version[0]);
    192364    assertValue(testName, "version[1]", expected.version[1], result.version[1]);
Note: See TracChangeset for help on using the changeset viewer.