/home/eoseret/qaas/qaas_runs/178-188-3659/intel/AMG/build/AMG/AMG/IJ_mv/IJMatrix_parcsr.c: 3291 - 3484
--------------------------------------------------------------------------------

3291:          for (ii=ns; ii < ne; ii++)
3292:          {
3293:             row = rows[ii];
3294:             n = ncols[ii];
3295:             /* processor owns the row */ 
3296:             if (row >= row_partitioning[pstart] && row < row_partitioning[pstart+1])
3297:             {
3298:                row_local = row - row_partitioning[pstart]; 
3299:                /* compute local row number */
3300:                if (need_aux)
[...]
3376: 	          offd_indx = hypre_AuxParCSRMatrixIndxOffd(aux_matrix)[row_local];
3377: 	          diag_indx = hypre_AuxParCSRMatrixIndxDiag(aux_matrix)[row_local];
[...]
3383:   	          for (i=0; i < n; i++)
3384: 	          {
3385: 	             if (cols[indx] < col_0 || cols[indx] > col_n)
3386:                      /* insert into offd */	
3387: 	             {
3388: 	                for (j=offd_i[row_local]; j < offd_indx; j++)
3389: 	                {
3390: 		           if (offd_j[j] == cols[indx])
[...]
3399: 	                   if (cnt_offd < offd_space) 
3400: 	                   { 
3401: 	                      offd_j[cnt_offd] = cols[indx];
3402: 	                      offd_data[cnt_offd++] = values[indx];
3403: 	                   } 
3404: 	                   else 
3405: 	 	           {
3406:                               hypre_error(HYPRE_ERROR_GENERIC);
3407: #ifdef HYPRE_USING_OPENMP
3408: #pragma omp atomic
3409: #endif  
3410:                               error_flag++;
3411: 	    	              if (print_level)
[...]
3417: 	                }  
3418: 	                not_found = 1;
3419: 	             }
3420: 	             else  /* insert into diag */
3421: 	             {
3422: 	                for (j=diag_i[row_local]; j < diag_indx; j++)
3423: 	                {
3424: 		           if (diag_j[j] == cols[indx])
[...]
3433: 	                   if (cnt_diag < diag_space) 
3434: 	                   { 
3435: 	                      diag_j[cnt_diag] = cols[indx];
3436: 	                      diag_data[cnt_diag++] = values[indx];
3437: 	                   } 
3438: 	                   else 
3439: 	 	           {
3440:                               hypre_error(HYPRE_ERROR_GENERIC);
3441: #ifdef HYPRE_USING_OPENMP
3442: #pragma omp atomic
3443: #endif  
3444:                               error_flag++;
3445: 	    	              if (print_level)
[...]
3454: 	             indx++;
3455: 	          }
3456: 
3457:                   hypre_AuxParCSRMatrixIndxDiag(aux_matrix)[row_local] = cnt_diag;
3458:                   hypre_AuxParCSRMatrixIndxOffd(aux_matrix)[row_local] = cnt_offd;
[...]
3466:                indx +=  n;
3467:    	       if (aux_matrix)
3468:                {
3469:                   col_indx = 0;
3470:                   for (i=0; i < off_proc_i_indx; i=i+2)
3471:                   {
3472: 	             row_len = off_proc_i[i+1];
3473: 	             if (off_proc_i[i] == row)
3474: 		     {
3475: 		        for (j=0; j < n; j++)
3476: 		        {
3477: 			   cnt1 = col_indx;
3478: 			   for (k=0; k < row_len; k++)
3479: 			   {
3480: 			      if (off_proc_j[cnt1] == cols[j])
3481: 			      {
3482:                                  off_proc_j[cnt1++] = -1;
3483:                		         /*cancel_indx++;*/
3484: 	                         offproc_cnt[my_thread_num]++;
