ipbdAKD.sac peformance problems w/ AWLF, extrema
Extended Description
Created an attachment (id=712)
source code to reproduce fault
Recent code changes on rattler, either due to my AWLF/extrema work, the WLBSC
changes of yesterday, other repository changes, or some combination thereof,
have clobbered the performance of some APEX benchmarks. The Boolean-double
matrix product ipbdAKD is typical of these.
The Loop_1 function contains this unpleasantness:
_ivesplit_16330 = 0;
_ivesplit_16331 = 1;
_ = with {
([ 0 ] <= _pinl_9242_iv=[_eat_11993] (IDXS:_wlidx_16309__pinl_9233__icc_4507) < [ _uprf_12172 ])
{
_pinl_9243_new_idx = _cat_VxV_( row, _pinl_9242_iv);
_uprf_12161 = _idx_sel_( _ivesplit_16330, _pinl_9243_new_idx);
_uprf_12166 = _idx_sel_( _ivesplit_16331, _pinl_9243_new_idx);
_ivesplit_16332 = _idxs2offset_( _isaa_12791_x, _uprf_12161, _uprf_12166);
_pinl_9232__icc_4505 = _idx_sel_( _ivesplit_16332, x);
} : _pinl_9232__icc_4505 ;
} :
genarray( [ _uprf_12172 ], _pinl_9241__flat_68, IDX(_wlidx_16309__pinl_9233__icc_4507));
_ivesplit_16333 = colx;
_pinl_9276__icc_3294 = _idx_sel_( _ivesplit_16333, _pinl_9233__icc_4507);
Note that:
1. _pinl_9233__icc_4507 is copying a row from x.
2. The following reference to that result selects a single element from
that row.
I'll try to come up a short example of this, but the code base
exists only on rattler at this juncture, so you won't easily be able to
try it.