Lines Matching refs:num_waves
34 #define SMEM_WINDOW_SIZE (350 - ctx.num_waves * 35)
35 #define VMEM_WINDOW_SIZE (1024 - ctx.num_waves * 64)
37 #define SMEM_MAX_MOVES (64 - ctx.num_waves * 4)
38 #define VMEM_MAX_MOVES (256 - ctx.num_waves * 16)
39 /* creating clauses decreases def-use distances, so make it less aggressive the lower num_waves is */
40 #define VMEM_CLAUSE_MAX_GRAB_DIST (ctx.num_waves * 2)
125 int16_t num_waves;
678 /* only move VMEM instructions below descriptor loads. be more aggressive at higher num_waves
681 (cursor.insert_idx - cursor.source_idx > (ctx.num_waves * 4) ||
783 ctx.last_SMEM_stall = 10 - ctx.num_waves - k;
1063 // TODO: account for possible uneven num_waves on GFX10+
1065 if (program->num_waves <= 5 * wave_fac)
1066 ctx.num_waves = program->num_waves;
1068 ctx.num_waves = 5 * wave_fac;
1070 ctx.num_waves = 6 * wave_fac;
1072 ctx.num_waves = 7 * wave_fac;
1073 ctx.num_waves = std::max<uint16_t>(ctx.num_waves, program->min_waves);
1074 ctx.num_waves = std::min<uint16_t>(ctx.num_waves, program->num_waves);
1075 ctx.num_waves = max_suitable_waves(program, ctx.num_waves);
1078 ctx.num_waves = std::max<uint16_t>(ctx.num_waves / wave_fac, 1);
1080 assert(ctx.num_waves > 0);
1081 ctx.mv.max_registers = {int16_t(get_addr_vgpr_from_waves(program, ctx.num_waves * wave_fac) - 2),
1082 int16_t(get_addr_sgpr_from_waves(program, ctx.num_waves * wave_fac))};
1098 /* update max_reg_demand and num_waves */
1107 int prev_num_waves = program->num_waves;
1125 assert(program->num_waves == prev_num_waves);