@@ -2390,10 +2390,10 @@ void hiopVectorRaja<MEM, POL>::process_constraints_local(const hiopVector& gl_ve
2390
2390
size_type n_in = dl_vec.get_local_size ();
2391
2391
size_type n_cons = n_eq + n_in;
2392
2392
2393
- hiopVectorInt* idx_eq_cumsum = LinearAlgebraFactory::create_vector_int (mem_space_, n_cons);
2394
- hiopVectorInt* idx_in_cumsum = LinearAlgebraFactory::create_vector_int (mem_space_, n_cons);
2395
- index_type* find_eq = idx_eq_cumsum ->local_data ();
2396
- index_type* find_in = idx_in_cumsum ->local_data ();
2393
+ hiopVectorInt* find_eq = LinearAlgebraFactory::create_vector_int (mem_space_, n_cons);
2394
+ hiopVectorInt* find_in = LinearAlgebraFactory::create_vector_int (mem_space_, n_cons);
2395
+ index_type* idx_eq_cumsum = find_eq ->local_data ();
2396
+ index_type* idx_in_cumsum = find_in ->local_data ();
2397
2397
2398
2398
RAJA::ReduceSum< hiop_raja_reduce, int > sum_n_bnds_low (0 );
2399
2399
RAJA::ReduceSum< hiop_raja_reduce, int > sum_n_bnds_upp (0 );
@@ -2405,11 +2405,11 @@ void hiopVectorRaja<MEM, POL>::process_constraints_local(const hiopVector& gl_ve
2405
2405
RAJA_LAMBDA (RAJA::Index_type i)
2406
2406
{
2407
2407
if (gl[i] == gu[i]) {
2408
- find_eq [i] = 1 ;
2409
- find_in [i] = 0 ;
2408
+ idx_eq_cumsum [i] = 1 ;
2409
+ idx_in_cumsum [i] = 0 ;
2410
2410
} else {
2411
- find_eq [i] = 0 ;
2412
- find_in [i] = 1 ;
2411
+ idx_eq_cumsum [i] = 0 ;
2412
+ idx_in_cumsum [i] = 1 ;
2413
2413
}
2414
2414
}
2415
2415
);
@@ -2421,8 +2421,6 @@ void hiopVectorRaja<MEM, POL>::process_constraints_local(const hiopVector& gl_ve
2421
2421
// (0,1,1) -- (1,1,2) after scan
2422
2422
// map [1] [0,2]
2423
2423
2424
- index_type* nnz_cumsum = idx_cumsum_->local_data ();
2425
- index_type v_n_local = v.n_local_ ;
2426
2424
RAJA::forall<hiop_raja_exec>(
2427
2425
RAJA::RangeSegment (0 , n_cons),
2428
2426
RAJA_LAMBDA (RAJA::Index_type i)
@@ -2464,9 +2462,10 @@ void hiopVectorRaja<MEM, POL>::process_constraints_local(const hiopVector& gl_ve
2464
2462
} else {
2465
2463
assert (idx_in_cumsum[i] == idx_in_cumsum[i-1 ] + 1 );
2466
2464
int in_idx = idx_in_cumsum[i] - 1 ;
2467
- incon_map [in_idx] = cons_type[i];
2465
+ incon_type [in_idx] = cons_type[i];
2468
2466
dl[in_idx] = gl[i];
2469
2467
du[in_idx] = gu[i];
2468
+ incon_map[in_idx] = i;
2470
2469
2471
2470
if (gl[i]>-1e20 ) {
2472
2471
idl[in_idx] = 1 .;
@@ -2488,11 +2487,13 @@ void hiopVectorRaja<MEM, POL>::process_constraints_local(const hiopVector& gl_ve
2488
2487
}
2489
2488
);
2490
2489
2491
- n_bnds_low = sum_n_bnds_low.get ();
2492
- n_bnds_upp = sum_n_bnds_upp.get ();
2493
- n_bnds_lu = sum_n_bnds_lu.get ();
2490
+ n_ineq_low = sum_n_bnds_low.get ();
2491
+ n_ineq_upp = sum_n_bnds_upp.get ();
2492
+ n_ineq_lu = sum_n_bnds_lu.get ();
2493
+
2494
+ delete find_eq;
2495
+ delete find_in;
2494
2496
2495
- return true ;
2496
2497
}
2497
2498
2498
2499
0 commit comments