P4 to Git Change 1226780 by nhaustov@nhaustov_hsa on 2016/01/12 07:20:04
SWDEV-77584 - ORCA RT/Compiler Lib: Add 8:0:4, 8:1:0 and 9:0:1 compute capabilities.
Changes by Evgeniy Mankov.
Also cherry-pick CL 1226741 for 8:1:0 compute capability.
Testing: smoke, pre-checkin
[Reviewers] Nikolay Haustov, German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/finalizer/program.cpp#20 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/loaders.cpp#7 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/loaders.hpp#7 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/tests/tlst/finalizer_offline.tlst#15 integrate
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#131 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#219 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#63 edit
[ROCm/clr commit: 6a0e72acc5]
This commit is contained in:
@@ -2351,8 +2351,10 @@ hsa_isa_t ORCAHSALoaderContext::IsaFromName(const char *name) {
|
||||
if (!strcmp(Gfx701, name)) { isa.handle = gfx701; return isa; }
|
||||
if (!strcmp(Gfx800, name)) { isa.handle = gfx800; return isa; }
|
||||
if (!strcmp(Gfx801, name)) { isa.handle = gfx801; return isa; }
|
||||
if (!strcmp(Gfx804, name)) { isa.handle = gfx804; return isa; }
|
||||
if (!strcmp(Gfx810, name)) { isa.handle = gfx810; return isa; }
|
||||
if (!strcmp(Gfx900, name)) { isa.handle = gfx900; return isa; }
|
||||
if (!strcmp(Gfx901, name)) { isa.handle = gfx901; return isa; }
|
||||
return isa;
|
||||
}
|
||||
|
||||
@@ -2367,15 +2369,32 @@ bool ORCAHSALoaderContext::IsaSupportedByAgent(hsa_agent_t agent, hsa_isa_t isa)
|
||||
// gfx701 only differs from gfx700 by faster fp operations and can be loaded on either device.
|
||||
return isa.handle == gfx700 || isa.handle == gfx701;
|
||||
case gfx800:
|
||||
if (ED_ATI_CAL_MACHINE_ICELAND_ISA == program_->dev().hwInfo()->machine_ ||
|
||||
ED_ATI_CAL_MACHINE_TONGA_ISA == program_->dev().hwInfo()->machine_ ) {
|
||||
switch (program_->dev().hwInfo()->machine_) {
|
||||
case ED_ATI_CAL_MACHINE_ICELAND_ISA:
|
||||
case ED_ATI_CAL_MACHINE_TONGA_ISA:
|
||||
return isa.handle == gfx800;
|
||||
} else {
|
||||
// gfx800 has only sgrps limited and can be loaded on later chips.
|
||||
return isa.handle == gfx800 || isa.handle == gfx801;
|
||||
case ED_ATI_CAL_MACHINE_CARRIZO_ISA:
|
||||
return isa.handle == gfx801;
|
||||
case ED_ATI_CAL_MACHINE_FIJI_ISA:
|
||||
case ED_ATI_CAL_MACHINE_ELLESMERE_ISA:
|
||||
case ED_ATI_CAL_MACHINE_BAFFIN_ISA:
|
||||
// gfx800 ISA has only sgrps limited and can be loaded.
|
||||
// gfx801 ISA has XNACK limitations and can be loaded.
|
||||
return isa.handle == gfx800 || isa.handle == gfx801 || isa.handle == gfx804;
|
||||
case ED_ATI_CAL_MACHINE_STONEY_ISA:
|
||||
return isa.handle == gfx810;
|
||||
default:
|
||||
assert(0);
|
||||
return false;
|
||||
}
|
||||
case gfx900:
|
||||
return isa.handle == gfx900;
|
||||
switch (program_->dev().hwInfo()->machine_) {
|
||||
case ED_ATI_CAL_MACHINE_GREENLAND_ISA:
|
||||
return isa.handle == gfx900 || isa.handle == gfx901;
|
||||
default:
|
||||
assert(0);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user