Skip to content

allocate_block_mapping() failed to assign SDP blocks to all CPUs #276

@vasdommes

Description

@vasdommes

Example: running SDPB on 8 nodes, 16 CPUs per node, with --procGranularity 4.
Block distribution is determined by block_timings.

Some nodes are left empty, although there are more blocks than nodes.
SDPB should keep all CPUs busy, for example, assigning 16 CPUs to blocks 0 and 5, and 12 CPUs to block 1.

Output:

block_timings, ms:
26738, 26565, 560279, 83619, 304570, 32261, 73257, 2791, 4767, 170, 176, 64
Block Grid Mapping
Node	Num Procs	Cost (Per Proc)		Block List
==========================================================
0	16		35017.4			{2(117)}

1	16		19035.6			{4(90)}

2	16		5226.19			{3(59)}

3	16		4578.56			{6(51)}

4	4		8065.25			{5(38)}
4	4		6684.5			{0(35)}
4	4		6641.25			{1(35)}
4	4		1191.75			{8(20)}

5	4		697.75			{7(17)}
5	4		44			{10(4)}
5	4		42.5			{9(4)}
5	4		16			{11(2)}

6	4		0			{}
6	4		0			{}
6	4		0			{}
6	4		0			{}

7	4		0			{}
7	4		0			{}
7	4		0			{}
7	4		0			{}


Process 95 caught error message:
in allocate_block_mapping() at ../src/sdpb_util/block_mapping/allocate_block_mapping.hxx:74: 
  Assertion '!block_indices.empty()' failed:
    No SDP blocks were assigned to rank=95. node=7 node_rank=11

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions