Changeset 4891 in CLRX


Ignore:
Timestamp:
Aug 14, 2019, 12:09:22 PM (5 days ago)
Author:
matszpk
Message:

CLRadeonExtender: ROCm: MSgPack metadata parsing - kernel args parsing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdbin/ROCmBinaries.cpp

    r4890 r4891  
    20072007}
    20082008
     2009enum {
     2010    ROCMMP_ARG_ACCESS = 0, ROCMMP_ARG_ACTUAL_ACCESS, ROCMMP_ARG_ADDRESS_SPACE,
     2011    ROCMMP_ARG_IS_CONST, ROCMMP_ARG_IS_PIPE, ROCMMP_ARG_IS_RESTRICT,
     2012    ROCMMP_ARG_IS_VOLATILE, ROCMMP_ARG_NAME, ROCMMP_ARG_OFFSET, ROCMMP_ARG_POINTEE_ALIGN,
     2013    ROCMMP_ARG_SIZE, ROCMMP_ARG_TYPE_NAME, ROCMMP_ARG_VALUE_KIND, ROCMMP_ARG_VALUE_TYPE
     2014};
     2015
     2016static const char* rocmMetadataMPKernelArgNames[] =
     2017{
     2018    ".access", ".actual_access", ".address_space", ".is_const", ".is_pipe", ".is_restrict",
     2019    ".is_volatile", ".name", ".offset", ".pointee_align", ".size", ".type_name",
     2020    ".value_kind", ".value_type"
     2021};
     2022
     2023static const size_t rocmMetadataMPKernelArgNamesSize =
     2024                sizeof(rocmMetadataMPKernelArgNames) / sizeof(const char*);
     2025
    20092026static void parseROCmMetadataKernelArgMsgPack(MsgPackArrayParser& argsParser,
    20102027                        ROCmKernelArgInfo& argInfo)
    20112028{
    2012 }
     2029    MsgPackMapParser aParser = argsParser.parseMap();
     2030    while (aParser.haveElements())
     2031    {
     2032        const CString name = aParser.parseKeyString();
     2033        const size_t index = binaryFind(rocmMetadataMPKernelArgNames,
     2034                    rocmMetadataMPKernelArgNames + rocmMetadataMPKernelArgNamesSize,
     2035                    name.c_str()) - rocmMetadataMPKernelArgNames;
     2036        switch(index)
     2037        {
     2038            case ROCMMP_ARG_ACCESS:
     2039                break;
     2040            case ROCMMP_ARG_ACTUAL_ACCESS:
     2041                break;
     2042            case ROCMMP_ARG_ADDRESS_SPACE:
     2043                break;
     2044            case ROCMMP_ARG_IS_CONST:
     2045                break;
     2046            case ROCMMP_ARG_IS_PIPE:
     2047                break;
     2048            case ROCMMP_ARG_IS_RESTRICT:
     2049                break;
     2050            case ROCMMP_ARG_IS_VOLATILE:
     2051                break;
     2052            case ROCMMP_ARG_NAME:
     2053                break;
     2054            case ROCMMP_ARG_OFFSET:
     2055                break;
     2056            case ROCMMP_ARG_POINTEE_ALIGN:
     2057                break;
     2058            case ROCMMP_ARG_SIZE:
     2059                break;
     2060            case ROCMMP_ARG_TYPE_NAME:
     2061                break;
     2062            case ROCMMP_ARG_VALUE_KIND:
     2063                break;
     2064            case ROCMMP_ARG_VALUE_TYPE:
     2065                break;
     2066            default:
     2067                aParser.skipValue();
     2068                break;
     2069        }
     2070    }
     2071};
    20132072
    20142073enum {
Note: See TracChangeset for help on using the changeset viewer.