Skip to content

Commit

Permalink
define TARGET_TYPE_NPU
Browse files Browse the repository at this point in the history
Change-Id: I80d6b6ae23102018f2e86ec5b38282029e841e6c
RTC:171597
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39913
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
Prachi Gupta authored and dcrowell77 committed May 23, 2017
1 parent 58a4a24 commit 6d15381
Show file tree
Hide file tree
Showing 7 changed files with 294 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/usr/targeting/common/Targets.pm
Expand Up @@ -64,6 +64,7 @@ my %maxInstance = (
"CAPP" => 2,
"SBE" => 1,
"OBUS_BRICK" => 12,
"NPU" => 1,
"MI" => 4,
"OCC" => 1,
);
Expand Down
2 changes: 2 additions & 0 deletions src/usr/targeting/common/entitypath.C
Expand Up @@ -418,6 +418,8 @@ const char* EntityPath::pathElementTypeAsString(
return "NV";
case TYPE_OBUS_BRICK:
return "OBUS_BRICK";
case TYPE_NPU:
return "NPU";
case TYPE_SBE:
return "SBE";
case TYPE_PPE:
Expand Down
45 changes: 45 additions & 0 deletions src/usr/targeting/common/genHwsvMrwXml.pl
Expand Up @@ -84,6 +84,7 @@
MAX_MBA_PER_MEMBUF => 2,
MAX_OBUS_PER_PROC => 4,
MAX_OBUS_BRICK_PER_PROC => 12,
MAX_NPU_PER_PROC => 1,
MAX_PPE_PER_PROC => 51, #Only 21, but they are sparsely populated
MAX_PERV_PER_PROC => 56, #Only 42, but they are sparsely populated
MAX_CAPP_PER_PROC => 2,
Expand Down Expand Up @@ -117,6 +118,7 @@
ARCH_LIMIT_MI_PER_PROC => MAX_MI_PER_PROC,
ARCH_LIMIT_CAPP_PER_PROC => MAX_CAPP_PER_PROC,
ARCH_LIMIT_DMI_PER_MI => 2,
ARCH_LIMIT_NPU_PER_PROC => MAX_NPU_PER_PROC,
ARCH_LIMIT_OBUS_PER_PROC => MAX_OBUS_PER_PROC,
ARCH_LIMIT_OBUS_BRICK_PER_OBUS => MAX_OBUS_BRICK_PER_PROC / MAX_OBUS_PER_PROC,
ARCH_LIMIT_SBE_PER_PROC => MAX_SBE_PER_PROC,
Expand Down Expand Up @@ -2215,6 +2217,7 @@ ($)
$proc_ordinal_id, \@fsi, \@altfsi, $fru_id, $hwTopology,
\%fapiPosH,\%voltageRails );

generate_npu($proc,0,0,$ipath);
generate_occ($proc, $proc_ordinal_id);
generate_nx($proc,$proc_ordinal_id,$node);

Expand Down Expand Up @@ -5508,6 +5511,48 @@ sub generate_sbe
";
}

sub generate_npu
{
my ($proc, $npu, $ordinalId, $ipath) = @_;
my $uidstr = sprintf("0x%02X44%04X",${node},$proc*MAX_NPU_PER_PROC + $npu);

my $fapi_name = "NA";
my $path = "sys-$sys/node-$node/proc-$proc/npu-$npu";

print "
<targetInstance>
<id>sys${sys}node${node}proc${proc}npu$npu</id>
<type>unit-npu-power9</type>
<attribute><id>HUID</id><default>${uidstr}</default></attribute>
<attribute><id>FAPI_NAME</id><default>$fapi_name</default></attribute>
<attribute>
<id>PHYS_PATH</id>
<default>physical:$path</default>
</attribute>
<attribute>
<id>AFFINITY_PATH</id>
<default>affinity:$path</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
<default>$ordinalId</default>
</attribute>
<compileAttribute>
<id>INSTANCE_PATH</id>
<default>instance:$ipath/npu$npu</default>
</compileAttribute>
<attribute>
<id>CHIP_UNIT</id>
<default>$npu</default>
</attribute>
<attribute>
<id>REL_POS</id>
<default>$npu</default>
</attribute>
</targetInstance>
";
}

sub generate_obus_brick
{
my ($proc, $obus, $ipath) = @_;
Expand Down
8 changes: 6 additions & 2 deletions src/usr/targeting/common/xmltohb/attribute_types.xml
Expand Up @@ -354,14 +354,18 @@
<name>OBUS_BRICK</name>
<value>66</value>
</enumerator>
<enumerator>
<name>NPU</name>
<value>67</value>
</enumerator>
<!-- add any new types here, and increment TEST_FAIL and LAST_IN_RANGE -->
<enumerator>
<name>TEST_FAIL</name>
<value>67</value>
<value>68</value>
</enumerator>
<enumerator>
<name>LAST_IN_RANGE</name>
<value>68</value>
<value>69</value>
</enumerator>
<default>NA</default>
</enumerationType>
Expand Down
104 changes: 104 additions & 0 deletions src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
Expand Up @@ -3204,6 +3204,58 @@
</attribute>
</targetInstance>

<targetInstance>
<id>sys0node0proc0npu0</id>
<type>unit-npu-nimbus</type>
<attribute>
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
<default>0x05</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>0</default>
</attribute>
<attribute>
<id>CLASS</id>
<default>UNIT</default>
</attribute>
<attribute>
<id>DECONFIG_GARDABLE</id>
<default>1</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
<default>NA</default>
</attribute>
<attribute>
<id>FAPI_POS</id>
<default>0</default>
</attribute>
<attribute>
<id>HUID</id>
<default>0x00440000</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
<default>0</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-5</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NPU</default>
</attribute>
</targetInstance>
<!-- Nimbus n0p0 obus-brick units -->
<targetInstance>
<id>sys0node0proc0obus0obus_brick0</id>
Expand Down Expand Up @@ -8790,6 +8842,58 @@
</attribute>
</targetInstance>

<targetInstance>
<id>sys0node0proc1npu0</id>
<type>unit-npu-nimbus</type>
<attribute>
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-1/npu-0</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
<default>0x05</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>0</default>
</attribute>
<attribute>
<id>CLASS</id>
<default>UNIT</default>
</attribute>
<attribute>
<id>DECONFIG_GARDABLE</id>
<default>1</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
<default>NA</default>
</attribute>
<attribute>
<id>FAPI_POS</id>
<default>1</default>
</attribute>
<attribute>
<id>HUID</id>
<default>0x00440001</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
<default>0</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-5</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-1/npu-0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NPU</default>
</attribute>
</targetInstance>
<targetInstance>
<id>sys0node0proc1ppe0</id>
<type>unit-ppe-power9</type>
Expand Down
31 changes: 31 additions & 0 deletions src/usr/targeting/common/xmltohb/target_types.xml
Expand Up @@ -2264,6 +2264,37 @@
</attribute>
</targetType>

<!-- One NPU per proc -->
<targetType>
<id>unit-npu-power9</id>
<parent>unit</parent>
<attribute>
<id>TYPE</id>
<default>NPU</default>
</attribute>
<attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute>
<attribute><id>HUID</id></attribute>
<attribute><id>PARENT_PERVASIVE</id></attribute>
</targetType>

<targetType>
<id>unit-npu-nimbus</id>
<parent>unit-npu-power9</parent>
<attribute>
<id>MODEL</id>
<default>NIMBUS</default>
</attribute>
</targetType>

<targetType>
<id>unit-npu-cumulus</id>
<parent>unit-npu-power9</parent>
<attribute>
<id>MODEL</id>
<default>CUMULUS</default>
</attribute>
</targetType>

<!-- PPE
Nimbus : 21, including the SBE (1 SBE, 1 Powerbus/Fabric PPE,
4 GPEs, 12 CMEs, and 3 IO PPEs.
Expand Down
105 changes: 105 additions & 0 deletions src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
Expand Up @@ -3339,6 +3339,58 @@
</attribute>
</targetInstance>

<targetInstance>
<id>sys0node0proc0npu0</id>
<type>unit-npu-nimbus</type>
<attribute>
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
<default>0x05</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>0</default>
</attribute>
<attribute>
<id>CLASS</id>
<default>UNIT</default>
</attribute>
<attribute>
<id>DECONFIG_GARDABLE</id>
<default>1</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
<default>NA</default>
</attribute>
<attribute>
<id>FAPI_POS</id>
<default>0</default>
</attribute>
<attribute>
<id>HUID</id>
<default>0x00440000</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
<default>0</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-0/perv-5</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NPU</default>
</attribute>
</targetInstance>
<!-- Nimbus n0p0 PPE units
Up to 18 PPEs per Nimbus, only create 2 in this config for now -->
<targetInstance>
Expand Down Expand Up @@ -8667,6 +8719,59 @@
</attribute>
</targetInstance>

<targetInstance>
<id>sys0node0proc1npu0</id>
<type>unit-npu-nimbus</type>
<attribute>
<id>AFFINITY_PATH</id>
<default>affinity:sys-0/node-0/proc-1/npu-0</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
<default>0x05</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
<default>0</default>
</attribute>
<attribute>
<id>CLASS</id>
<default>UNIT</default>
</attribute>
<attribute>
<id>DECONFIG_GARDABLE</id>
<default>1</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
<default>NA</default>
</attribute>
<attribute>
<id>FAPI_POS</id>
<default>1</default>
</attribute>
<attribute>
<id>HUID</id>
<default>0x00440001</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
<default>0</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
<default>physical:sys-0/node-0/proc-1/perv-5</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-1/npu-0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NPU</default>
</attribute>
</targetInstance>

<targetInstance>
<id>sys0node0proc1ppe0</id>
<type>unit-ppe-power9</type>
Expand Down

0 comments on commit 6d15381

Please sign in to comment.