Changeset 3328 in CLRX


Ignore:
Timestamp:
Sep 7, 2017, 2:51:26 PM (10 months ago)
Author:
matszpk
Message:

CLRadeonExtender: Remove 'ROCm's from AsmGalliumFormat? and AsmAmdCL2Format.
Refactor 'config' to 'hsaConfig' in AsmGalliumFormat? and AsmAmdCL2Format.

Location:
CLRadeonExtender/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/CLRX/amdasm/AsmFormats.h

    r3313 r3328  
    329329        cxuint savedSection;
    330330        bool useHsaConfig; //
    331         std::unique_ptr<AsmAmdHsaKernelConfig> config; // hsaConfig
     331        std::unique_ptr<AsmAmdHsaKernelConfig> hsaConfig; // hsaConfig
    332332        std::unordered_set<CString> argNamesSet;
    333333        cxuint allocRegs[MAX_REGTYPES_NUM];
     
    405405    {
    406406        cxuint defaultSection;
    407         std::unique_ptr<AsmAmdHsaKernelConfig> config;
     407        std::unique_ptr<AsmAmdHsaKernelConfig> hsaConfig;
    408408        cxuint ctrlDirSection;
    409409        bool hasProgInfo;
  • CLRadeonExtender/trunk/amdasm/AsmAmdCL2Format.cpp

    r3319 r3328  
    106106void AsmAmdCL2Handler::Kernel::initializeKernelConfig()
    107107{
    108     if (!config)
    109     {
    110         config.reset(new AsmROCmKernelConfig{});
    111         config->initialize();
     108    if (!hsaConfig)
     109    {
     110        hsaConfig.reset(new AsmAmdHsaKernelConfig{});
     111        hsaConfig->initialize();
    112112    }
    113113}
     
    925925    {   // hsa config
    926926        handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    927         AsmROCmKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->config);
     927        AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->hsaConfig);
    928928       
    929929        AsmROCmPseudoOps::setConfigValueMain(config, ROCmConfigValueTarget(
     
    957957            {
    958958                handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    959                 AsmROCmKernelConfig& hsaConfig = *(handler.
    960                                 kernelStates[asmr.currentKernel]->config);
     959                AsmAmdHsaKernelConfig& hsaConfig = *(handler.
     960                                kernelStates[asmr.currentKernel]->hsaConfig);
    961961                hsaConfig.workgroupGroupSegmentSize = value;
    962962            }
     
    968968            {
    969969                handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    970                 AsmROCmKernelConfig& hsaConfig = *(handler.
    971                                 kernelStates[asmr.currentKernel]->config);
     970                AsmAmdHsaKernelConfig& hsaConfig = *(handler.
     971                                kernelStates[asmr.currentKernel]->hsaConfig);
    972972                hsaConfig.gdsSegmentSize = value;
    973973            }
     
    979979            {
    980980                handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    981                 AsmROCmKernelConfig& hsaConfig = *(handler.
    982                                 kernelStates[asmr.currentKernel]->config);
     981                AsmAmdHsaKernelConfig& hsaConfig = *(handler.
     982                                kernelStates[asmr.currentKernel]->hsaConfig);
    983983                hsaConfig.workitemPrivateSegmentSize = value;
    984984            }
     
    10271027    {   // hsa config
    10281028        handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1029         AsmROCmKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->config);
     1029        AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->hsaConfig);
    10301030       
    10311031        AsmROCmPseudoOps::setConfigBoolValueMain(config, ROCmConfigValueTarget(
     
    10891089    {   // if HSA config
    10901090        handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1091         handler.kernelStates[asmr.currentKernel]->config->dimMask = dimMask;
     1091        handler.kernelStates[asmr.currentKernel]->hsaConfig->dimMask = dimMask;
    10921092    }
    10931093}
     
    11161116   
    11171117    handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1118     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     1118    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    11191119    config->amdMachineKind = kindValue;
    11201120    config->amdMachineMajor = majorValue;
     
    11441144   
    11451145    handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1146     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     1146    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    11471147    config->amdCodeVersionMajor = majorValue;
    11481148    config->amdCodeVersionMinor = minorValue;
     
    11701170   
    11711171    handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1172     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     1172    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    11731173    if (inVgpr)
    11741174    {
     
    12061206        return;
    12071207    handler.kernelStates[asmr.currentKernel]->initializeKernelConfig();
    1208     uint16_t& flags = handler.kernelStates[asmr.currentKernel]->config->
     1208    uint16_t& flags = handler.kernelStates[asmr.currentKernel]->hsaConfig->
    12091209                enableSgprRegisterFlags;
    1210     flags = (flags & ~(7<<ROCMFLAG_USE_GRID_WORKGROUP_COUNT_BIT)) |
    1211             (dimMask<<ROCMFLAG_USE_GRID_WORKGROUP_COUNT_BIT);
     1210    flags = (flags & ~(7<<AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_BIT)) |
     1211            (dimMask<<AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_BIT);
    12121212}
    12131213
     
    19881988        else // setup HSA configuration
    19891989        {
    1990             AsmAmdHsaKernelConfig& config = *kernelStates[i]->config.get();
     1990            AsmAmdHsaKernelConfig& config = *kernelStates[i]->hsaConfig.get();
    19911991            const CString& kernelName = output.kernels[i].kernelName;
    19921992           
     
    20902090            cxuint flags = kernelStates[i]->allocRegFlags |
    20912091                // flat_scratch_init
    2092                 ((config.enableSgprRegisterFlags&ROCMFLAG_USE_FLAT_SCRATCH_INIT)!=0?
     2092                ((config.enableSgprRegisterFlags&AMDHSAFLAG_USE_FLAT_SCRATCH_INIT)!=0?
    20932093                            GCN_FLAT : 0) |
    20942094                // enable_xnack
    2095                 ((config.enableFeatureFlags&ROCMFLAG_USE_XNACK_ENABLED)!=0 ?
     2095                ((config.enableFeatureFlags&AMDHSAFLAG_USE_XNACK_ENABLED)!=0 ?
    20962096                            GCN_XNACK : 0);
    20972097            cxuint extraSgprsNum = getGPUExtraRegsNum(arch, REGTYPE_SGPR, flags|GCN_VCC);
  • CLRadeonExtender/trunk/amdasm/AsmGalliumFormat.cpp

    r3324 r3328  
    125125void AsmGalliumHandler::Kernel::initializeAmdHsaKernelConfig()
    126126{
    127     if (!config)
    128     {
    129         config.reset(new AsmROCmKernelConfig{});
    130         config->initialize();
     127    if (!hsaConfig)
     128    {
     129        hsaConfig.reset(new AsmAmdHsaKernelConfig{});
     130        hsaConfig->initialize();
    131131    }
    132132}
     
    564564    {    // AMD HSA
    565565        handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    566         AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->config);
     566        AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->hsaConfig);
    567567        config.dimMask = dimMask;
    568568    }
     
    755755    {
    756756        handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    757         AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->config);
     757        AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->hsaConfig);
    758758       
    759759        AsmROCmPseudoOps::setConfigValueMain(config,
     
    807807    {
    808808        handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    809         AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->config);
     809        AsmAmdHsaKernelConfig& config = *(handler.kernelStates[asmr.currentKernel]->hsaConfig);
    810810       
    811811        AsmROCmPseudoOps::setConfigBoolValueMain(config,
     
    834834   
    835835    handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    836     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     836    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    837837    config->enableSgprRegisterFlags =
    838838                    uint16_t(AMDHSAFLAG_USE_PRIVATE_SEGMENT_BUFFER|
     
    865865   
    866866    handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    867     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     867    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    868868    config->amdMachineKind = kindValue;
    869869    config->amdMachineMajor = majorValue;
     
    894894   
    895895    handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    896     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     896    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    897897    config->amdCodeVersionMajor = majorValue;
    898898    config->amdCodeVersionMinor = minorValue;
     
    921921   
    922922    handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    923     AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->config.get();
     923    AsmAmdHsaKernelConfig* config = handler.kernelStates[asmr.currentKernel]->hsaConfig.get();
    924924    if (inVgpr)
    925925    {
     
    957957        return;
    958958    handler.kernelStates[asmr.currentKernel]->initializeAmdHsaKernelConfig();
    959     uint16_t& flags = handler.kernelStates[asmr.currentKernel]->config->
     959    uint16_t& flags = handler.kernelStates[asmr.currentKernel]->hsaConfig->
    960960                enableSgprRegisterFlags;
    961     flags = (flags & ~(7<<ROCMFLAG_USE_GRID_WORKGROUP_COUNT_BIT)) |
    962             (dimMask<<ROCMFLAG_USE_GRID_WORKGROUP_COUNT_BIT);
     961    flags = (flags & ~(7<<AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_BIT)) |
     962            (dimMask<<AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_BIT);
    963963}
    964964
     
    18341834        if (llvmVersion >= 40000U && config.userDataNum == BINGEN8_DEFAULT)
    18351835        {   // fixed userdatanum for LLVM 4.0
    1836             const AmdHsaKernelConfig& hsaConfig  = *kernelStates[i]->config.get();
     1836            const AmdHsaKernelConfig& hsaConfig  = *kernelStates[i]->hsaConfig.get();
    18371837            // calcuate userSGPRs
    18381838            const uint16_t sgprFlags = hsaConfig.enableSgprRegisterFlags;
     
    18771877            if (llvmVersion >= 40000U)
    18781878            {   // fix alloc reg flags for AMD HSA (such as ROCm)
    1879                 const AmdHsaKernelConfig& hsaConfig  = *kernelStates[i]->config.get();
     1879                const AmdHsaKernelConfig& hsaConfig  = *kernelStates[i]->hsaConfig.get();
    18801880                allocFlags = kernelStates[i]->allocRegFlags |
    18811881                    // flat_scratch_init
     
    19741974           
    19751975            const Kernel& kernel = *kernelStates[ki];
    1976             if (kernel.config != nullptr)
     1976            if (kernel.hsaConfig != nullptr)
    19771977            {   // replace by HSA config
    1978                 ::memcpy(&outConfig, kernel.config.get(), sizeof(AmdHsaKernelConfig));
     1978                ::memcpy(&outConfig, kernel.hsaConfig.get(), sizeof(AmdHsaKernelConfig));
    19791979                // set config from HSA config
    1980                 const AsmAmdHsaKernelConfig& hsaConfig = *kernel.config.get();
     1980                const AsmAmdHsaKernelConfig& hsaConfig = *kernel.hsaConfig.get();
    19811981                if (hsaConfig.usedSGPRsNum != BINGEN_DEFAULT)
    19821982                    config.usedSGPRsNum = hsaConfig.usedSGPRsNum;
Note: See TracChangeset for help on using the changeset viewer.