17 & NELT, FRT_PTR, FRT_ELT,
18 & N, INODE, IW, LIW, A, LA, INFO, ND,
19 & FILS, FRERE, DAD, MAXFRW, root,
20 & OPASSW, OPELIW, PTRIST, PTLUST, PTRFAC, PTRAST,
21 & STEP, PIMASTER, PAMASTER,PTRARW,
22 & PTRAIW, ITLOC, RHS_MUMPS, NSTEPS, SON_LEVEL2,
23 & COMP, LRLU, IPTRLU, IWPOS, IWPOSCB, POSFAC, LRLUS, LRLUSM,
24 & ICNTL, KEEP,KEEP8,DKEEP,INTARR,LINTARR,DBLARR,LDBLARR,
26 & NSTK_S,PROCNODE_STEPS, SLAVEF, COMM,MYID,
27 & BUFR, LBUFR, LBUFR_BYTES, NBFIN, IPOOL, LPOOL, LEAF,
29 & ISTEP_TO_INIV2, TAB_POS_IN_PERE
31 & , MUMPS_TPS_ARR, ZMUMPS_TPS_ARR, L0_OMP_MAPPING
50 TYPE (ZMUMPS_ROOT_STRUC) :: root
51 INTEGER COMM_LOAD, ASS_IRECV
56 INTEGER(8) LA, LRLU, LRLUS, LRLUSM, IPTRLU, POSFAC
57 INTEGER KEEP(500), ICNTL(60)
59 DOUBLE PRECISION DKEEP(230)
60 INTEGER,
INTENT(INOUT) :: INFO(2)
63 INTEGER,
TARGET :: IWPOS, LIW
64 TYPE (MUMPS_TPS_T),
TARGET,
OPTIONAL :: MUMPS_TPS_ARR(:)
65 TYPE (ZMUMPS_TPS_T),
TARGET,
OPTIONAL :: ZMUMPS_TPS_ARR(:)
66 INTEGER,
INTENT(IN),
OPTIONAL :: L0_OMP_MAPPING(:)
68 INTEGER,
PARAMETER :: LIDUMMY = 1
69 INTEGER,
TARGET :: IW(LIW)
70 INTEGER(8),
INTENT(IN) :: PTRARW(NELT+1), PTRAIW(NELT+1)
71 INTEGER ITLOC(N+KEEP(253)),
72 & nd(keep(28)), perm(n),
73 & fils(n), frere(keep(28)), dad(keep(28)),
74 & ptrist(keep(28)), ptlust(keep(28)),
75 & step(n), pimaster(keep(28))
76 COMPLEX(kind=8) :: RHS_MUMPS(KEEP(255))
77 INTEGER(8) :: PTRFAC(KEEP(28)), PTRAST(KEEP(28)),
79 INTEGER COMM, NBFIN, SLAVEF, MYID
80 INTEGER ISTEP_TO_INIV2(KEEP(71)),
81 & tab_pos_in_pere(slavef+2,
max(1,keep(56)))
82 INTEGER FRT_PTR(N+1), FRT_ELT(NELT)
85 COMPLEX(kind=8),
TARGET :: A(LA)
86 INTEGER,
INTENT(IN) :: LRGROUPS(N)
87 DOUBLE PRECISION OPASSW, OPELIW
88 INTEGER(8),
INTENT(IN) :: LINTARR, LDBLARR
89 COMPLEX(kind=8) DBLARR(LDBLARR)
90 INTEGER INTARR(LINTARR)
92 INTEGER LBUFR, LBUFR_BYTES
93 INTEGER IPOOL( LPOOL )
94 INTEGER NSTK_S(KEEP(28))
95 INTEGER PROCNODE_STEPS(KEEP(28))
97 LOGICAL PACKED_CB, IS_CB_LR
98 INTEGER,
EXTERNAL :: MUMPS_TYPENODE
99 INTEGER,
EXTERNAL :: MUMPS_PROCNODE
102 INTEGER :: STATUS(MPI_STATUS_SIZE)
104 include
'mumps_headers.h'
107 INTEGER NBPANELS_L, NBPANELS_U
108 INTEGER IN,NUMSTK,NASS,ISON,IFSON,NASS1,IELL
112 INTEGER(8) NFRONT8, LAELL8, KEEP8TMPCOPY
113 INTEGER NFRONT,NFRONT_EFF,ISTCHK,ISTCHK_CB_RIGHT,LSTK,LREQ
115 INTEGER :: SON_XXS, SON_XXLR,
116 INTEGER(8) LSTK8, SIZFR8
117 LOGICAL :: IS_DYNAMIC_CB
118 INTEGER(8) :: DYN_SIZE
120 INTEGER NCOLS, NROWS, LDA_SON
121 INTEGER NELIM, IORG, IBROT
123#if ! defined(ZERO_TRIANGLE)
124 INTEGER(8) :: NUMROWS, JJ3
129 INTEGER(8) APOS, APOS2, LAPOS2
130 INTEGER(8) POSELT, POSEL1, ICT12, ICT21
133 INTEGER(8) :: JJ8, J18, J28
134 INTEGER(8) :: AINPUT8, AII8
135 INTEGER :: K1, K2, K3, KK, KK1
136 INTEGER JPOS,ICT11, IJROW
137 INTEGER Pos_First_NUMORG,NUMORG,IOLDPS,
140 INTEGER NSLAVES, NSLSON, NPIVS, NPIV_ANA,
141 INTEGER PTRCOL, ISLAVE, PDEST,LEVEL
143 INTEGER TROW_SIZE, INDX, FIRST_INDEX, SHIFT_INDEX
145 INTEGER(8) :: SIZE_ELTI8
148 LOGICAL BLOCKING, SET_IRECV, MESSAGE_RECEIVED
150 LOGICAL , LR_ACTIVATED, COMPRESS_CB,
151 & oocwrite_compatible_with_blr
153 INTEGER,
POINTER :: SON_IWPOS,
154 INTEGER,
POINTER,
DIMENSION(:) :: SON_IW
155 COMPLEX(kind=8),
POINTER,
DIMENSION(:) :: SON_A
158 INTEGER,
POINTER,
DIMENSION(:) :: BEGS_BLR
159 INTEGER :: NB_BLR, NPARTSCB, NPARTSASS, MAXI_CLUSTER,
162 parameter( zero = (0.0d0,0.0d0) )
163 LOGICAL MUMPS_INSSARBR, SSARBR
164 EXTERNAL mumps_inssarbr
165 DOUBLE PRECISION FLOP1,FLOP1_EFF
167 LOGICAL MUMPS_IN_OR_ROOT_SSARBR
170 lpok = ((lp.GT.0).AND.(icntl(4).GE.1))
176 level = mumps_typenode(procnode_steps(step(inode)),keep(199))
178 WRITE(*,*)
'INTERNAL ERROR 1 in ZMUMPS_FAC_ASM_NIV1_ELT '
182 hf = 6 + nslaves + keep(ixsz)
183 numelt = frt_ptr(inode+1) - frt_ptr(inode)
184 IF ( numelt .ne. 0 )
THEN
185 elbeg = frt_ptr(inode)
200 IF (ison .NE. 0)
THEN
201 DO WHILE (ison .GT. 0)
204 IF (keep(400).GT.0)
THEN
205 IF (
present(l0_omp_mapping))
THEN
206 ithread=l0_omp_mapping(step(ison))
207 IF (ithread .NE.0)
THEN
208 son_iw=>mumps_tps_arr(ithread)%IW
212 nass = nass + son_iw(pimaster(step(ison))+1+keep(ixsz))
213 ison = frere(step(ison))
216 nfront = nd(step(inode)) + nass + keep(253)
217 nass1 = nass + numorg
220 & keep(489), keep(490), keep(491), keep(492),
221 & keep(20), keep(60), dad(step(inode)), keep(38),
222 & lrstatus, n, lrgroups)
223 IF (dad(step(inode)).NE.0)
THEN
224 IF ( mumps_procnode(procnode_steps(step(dad(step(inode)))),
228 & mumps_typenode(procnode_steps(step(dad(step(inode)))),
232 IF (lrstatus.EQ.1 .OR. lrstatus.EQ.3)
THEN
233 lrstatus = lrstatus-1
237 compress_panel = (lrstatus.GE.2)
238 compress_cb = ((lrstatus.EQ.1).OR.
240 lr_activated = (lrstatus.GT.0)
241 IF (compress_cb.AND.(.NOT.compress_panel))
THEN
242 compress_panel = .true.
245 oocwrite_compatible_with_blr =
246 & ( .NOT.lr_activated.OR.(.NOT.compress_panel).OR.
250 IF (keep(201).EQ.1.AND.oocwrite_compatible_with_blr)
THEN
252 & nbpanels_l, nbpanels_u, lreq_ooc)
254 lreq = hf + 2 * nfront + lreq_ooc
255 IF ((iwpos + lreq -1) .GT. iwposcb)
THEN
259 & iwpos, iwposcb, ptrist, ptrast,
260 & step, pimaster, pamaster, lrlus,
261 & keep(ixsz),
comp, dkeep(97), myid, slavef,
262 & procnode_steps, dad)
263 IF (lrlu .NE. lrlus)
THEN
264 WRITE( *, * )
'PB compress ZMUMPS_FAC_ASM_NIV1_ELT'
265 WRITE( *, * )
'LRLU,LRLUS=',lrlu,lrlus
268 IF ((iwpos + lreq -1) .GT. iwposcb)
GOTO 270
273 IF (.NOT.
present(mumps_tps_arr).AND.
274 & .NOT.
present(l0_omp_mapping) )
THEN
276 & numelt, frt_elt(elbeg),
277 & myid, inode, n, ioldps, hf,
278 & nfront, nfront_eff, perm,
279 & nass1, nass, numstk, numorg, iwposcb, iwpos,
280 & ifson, step, pimaster, ptrist, ptraiw, nelt, iw, liw,
281 & intarr, lintarr, itloc, fils, frere,
283 & son_level2, niv1, info(1),
284 & dad,procnode_steps, slavef,
285 & frt_ptr, frt_elt, pos_first_numorg,
289 & numelt, frt_elt(elbeg),
290 & myid, inode, n, ioldps, hf,
291 & nfront, nfront_eff, perm,
292 & nass1, nass, numstk, numorg, iwposcb, iwpos,
293 & ifson, step, pimaster, ptrist, ptraiw, nelt, iw, liw,
294 & intarr, lintarr, itloc, fils, frere,
296 & son_level2, niv1, info(1),
297 & dad,procnode_steps, slavef,
298 & frt_ptr, frt_elt, pos_first_numorg,
300 & , mumps_tps_arr, l0_omp_mapping )
302 IF (info(1).LT.0)
GOTO 300
303 IF (nfront_eff.NE.nfront)
THEN
304 IF (nfront.GT.nfront_eff)
THEN
305 IF(mumps_in_or_root_ssarbr(procnode_steps(step(inode)),
307 npiv=nass1-(nfront_eff-nd(step(inode)))
314 & keep(50),1,flop1_eff)
318 iwpos = iwpos - ((2*nfront)-(2*nfront_eff))
320 lreq = hf + 2 * nfront + lreq_ooc
324 &
' ERROR 1 during ass_niv1_ELT', nfront, nfront_eff
329 IF (keep(201).EQ.1.AND.keep(50).NE.1.AND.
330 & oocwrite_compatible_with_blr)
THEN
332 & nbpanels_l, nbpanels_u, nass1,
333 & ioldps + hf + 2 * nfront, iw, liw)
336 maxfrw = max0(maxfrw, nfront)
337 ict11 = ioldps + hf - 1 + nfront
339 & lr_activated, parpiv_t1)
340 nfront8=int(nfront,8)
341 laell8 = nfront8 * nfront8
342 IF(parpiv_t1.NE.0)
THEN
343 laell8 = laell8+int(nass1,8)
346 & (0, laell8, .false.,
349 & lrlu,iptrlu,iwpos,iwposcb,
351 & step, pimaster,pamaster,lrlus,
352 & keep(ixsz),
comp, dkeep(97), myid,
353 & slavef, procnode_steps, dad,
355 IF (info(1).LT.0)
GOTO 490
358 lrlusm =
min( lrlus, lrlusm )
359 IF (keep(405).EQ.0)
THEN
360 keep8(69) = keep8(69) + laell8
361 keep8(68) =
max(keep8(69), keep8(68))
364 keep8(69) = keep8(69) + laell8
365 keep8tmpcopy = keep8(69)
368 keep8(68) =
max(keep8(68), keep8tmpcopy)
372 posfac = posfac + laell8
373 ssarbr=mumps_inssarbr(procnode_steps(step(inode)),keep(199))
380 IF (keep(405).EQ.0) keep(429)= keep(429)+1
381#if defined(ZERO_TRIANGLE)
382 lapos2 = poselt + laell8 - 1_8
383 a(poselt:lapos2) = zero
385 IF ( keep(50) .eq. 0 .OR. nfront .LT. keep(63) )
THEN
386 lapos2 = poselt + laell8 - 1_8
393 DO jj8 = poselt, lapos2
398 topdiag =
max(keep(7), keep(8), keep(218))-1
399 IF (lr_activated)
THEN
401 CALL get_cut(iw(ioldps+hf:ioldps+hf+nfront-1), nass1,
402 & ncb, lrgroups, npartscb,
403 & npartsass, begs_blr)
404 nb_blr = npartsass + npartscb
408 minsize = int(ibcksz2 / 2)
409 topdiag =
max(2*minsize + maxi_cluster-1,topdiag)
413!$ & ( ((int(numrows)+nomp-1) / nomp + 2) / 3) )
419 DO jj8 = 0_8, numrows - 1_8
420 apos = poselt + jj8 * nfront8
421 jj3 =
min( nfront8 - 1_8, jj8 + topdiag )
422 a(apos:apos + jj3) = zero
427 ptrast(step(inode)) = poselt
428 ptrfac(step(inode)) = poselt
429 ptlust(step(inode)) = ioldps
430 iw(ioldps+xxi) = lreq
433 iw(ioldps+xxs) = -9999
434 iw(ioldps+xxn) = -99999
435 iw(ioldps+xxp) = -99999
436 iw(ioldps+xxa) = -99999
437 iw(ioldps+xxf) = -99999
438 iw(ioldps+xxlr) = lrstatus
439 iw(ioldps + keep(ixsz)) = nfront
440 iw(ioldps + keep(ixsz)+ 1) = 0
441 iw(ioldps + keep(ixsz) + 2) = -nass1
442 iw(ioldps + keep(ixsz) + 3) = -nass1
443 iw(ioldps + keep(ixsz) + 4) = step(inode)
445 IF (lr_activated.AND.
455 IF (info(1).LT.0)
GOTO 500
457 estim_nfs4father_atson = -9999
458 IF (keep(219).NE.0.AND.keep(50).EQ.2)
THEN
459 ifath = dad( step( inode) )
462 & mumps_typenode(procnode_steps(step(ifath)),keep(199))
464 ioldps = ptlust(step(inode))
466 & n, inode, ifath, fils, perm, keep,
467 & ioldps, hf, iw, liw, nfront, nass1,
468 & estim_nfs4father_atson
471 & estim_nfs4father_atson )
475 IF (numstk.NE.0)
THEN
477 DO 220 iell = 1, numstk
478 istchk = pimaster(step(ison))
484 IF (keep(400).GT.0)
THEN
485 IF (
present(l0_omp_mapping))
THEN
486 ithread=l0_omp_mapping(step(ison))
487 IF (ithread .NE.0)
THEN
488 son_liw => mumps_tps_arr(ithread)%LIW
489 son_iw => mumps_tps_arr(ithread)%IW
490 son_iwpos => mumps_tps_arr(ithread)%IWPOS
491 son_a => zmumps_tps_arr(ithread)%A
495 lstk = son_iw(istchk + keep(ixsz))
497 nelim = son_iw(istchk + keep(ixsz) + 1)
498 npivs = son_iw(istchk + keep(ixsz) + 3)
499 IF ( npivs .LT. 0 ) npivs = 0
500 nslson = son_iw(istchk + keep(ixsz) + 5)
501 hs = 6 + keep(ixsz) + nslson
503 same_proc = (istchk.LT.son_iwpos)
504 IF ( same_proc )
THEN
505 istchk_cb_right = ptrist(step(ison))
507 istchk_cb_right = istchk
509 son_xxs = son_iw(istchk_cb_right+xxs)
510 son_xxlr = son_iw(istchk_cb_right+xxlr)
511 son_xxg = son_iw(istchk_cb_right+xxg)
512 packed_cb = ( son_xxs .EQ. s_cb1comp )
513 is_cb_lr = ( son_xxlr.EQ.1 .OR. son_xxlr.EQ.3 )
514 & .AND. (keep(489).EQ.1.OR.keep(489).EQ.3)
516 IF (.NOT.same_proc)
THEN
517 nrows = son_iw( istchk + keep(ixsz) + 2)
521 sizfi = hs + nrows + ncols
522 k1 = istchk + hs + nrows + npivs
523 IF ( .NOT. level1 .AND. nelim.EQ.0 )
GOTO 205
524 IF (level1 .AND. .NOT. is_cb_lr)
THEN
527 sizfr8 = (lstk8*(lstk8+1_8)/2_8)
532 IF ( keep(50).eq.0 )
THEN
533 sizfr8 = int(nelim,8) * lstk8
536 sizfr8 = int(nelim,8) * int(nelim+1,8)/2_8
538 sizfr8 = int(nelim,8) * int(nelim,8)
543 IF (level1 .AND. .NOT. is_cb_lr)
THEN
544 IF (keep(50).EQ.0)
THEN
545 opassw = opassw + lstk8*lstk8
547 opassw = opassw + lstk8*(lstk8+1)/2_8
550 IF (keep(50).EQ.0)
THEN
551 opassw = opassw + int(nelim,8)*lstk8
553 opassw = opassw + int(nelim,8)*int(nelim,8)/2_8
556 CALL mumps_geti8(dyn_size, son_iw(istchk_cb_right+xxd))
557 is_dynamic_cb = dyn_size .GT. 0_8
558 IF ( is_dynamic_cb )
THEN
563 iachk = pamaster(step(ison))
565 IF (is_cb_lr .AND. level1)
THEN
566 posel1 = ptrast(step(inode))
568 & posel1, nfront, nass1, son_iw(istchk+xxf),
570 & lstk, nelim, k1, k1+lstk-1, keep(50),
571 & keep, keep8, opassw)
573 IF ( keep(50) .eq. 0 )
THEN
574 posel1 = ptrast(step(inode)) - nfront8
580 apos = posel1 + int(son_iw(kk),8) * nfront8
585 jj2 = apos + int(son_iw(k1 + kk1 - 1) - 1,8)
586 a(jj2) = a(jj2) + son_a(iachk + int(kk1 - 1,8))
588 iachk = iachk + lstk8
592 IF (level1 .AND. .NOT. is_cb_lr)
THEN
597 IF (sizfr8 .GT. 0)
THEN
599 & ptrast(step( inode )), nfront, nass1,
601 & son_iw( k1 ), k2 - k1 + 1, nelim, etatass,
608 IF (same_proc) istchk = ptrist(step(ison))
610 IF (keep(50).NE.0)
THEN
616 son_iw(kk) = son_iw(kk - nrows)
625 son_iw(kk) = son_iw(kk - nrows)
627 IF (nelim .NE. 0)
THEN
633 jpos = son_iw(kk) + ict11
634 son_iw(kk) = iw(jpos)
639 IF ( same_proc )
THEN
640 ptrist(step(ison)) = -99999999
642 pimaster(step( ison )) = -99999999
644 IF (ithread .EQ. 0)
THEN
646 & ssarbr, myid, n, istchk,
647 & iw, liw, lrlu, lrlus, iptrlu,
648 & iwposcb, la, keep,keep8,
654 & ssarbr, myid, n, istchk,
655 & mumps_tps_arr(ithread)%IW(1),
656 & mumps_tps_arr(ithread)%LIW,
657 & mumps_tps_arr(ithread)%LRLU,
658 & mumps_tps_arr(ithread)%LRLUS,
659 & mumps_tps_arr(ithread)%IPTRLU,
660 & mumps_tps_arr(ithread)%IWPOSCB,
661 & mumps_tps_arr(ithread)%LA, keep,keep8, .false.
665 IF (is_dynamic_cb)
THEN
668 & keep(405).EQ.1, keep8 )
671 pdest = istchk + 6 + keep(ixsz)
672 ncbson = lstk - nelim
673 ptrcol = istchk + hs + nrows + npivs + nelim
674 DO islave = 0, nslson-1
675 IF (iw(pdest+islave).EQ.myid)
THEN
678 & istep_to_iniv2, tab_pos_in_pere,
681 & trow_size, first_index )
682 shift_index = first_index - 1
683 indx = ptrcol + shift_index
685 & bufr, lbufr, lbufr_bytes,
686 & inode, ison, nslaves, idummy,
687 & nfront, nass1, nfs4father,
688 & trow_size, iw( indx ),
690 & slavef, posfac, iwpos, iwposcb, iptrlu, lrlu,
691 & lrlus, n, iw, liw, a, la,
692 & ptrist, ptlust, ptrfac, ptrast, step,
693 & pimaster, pamaster, nstk_s,
comp,
694 & info(1), info(2), myid, comm, perm, ipool, lpool,
695 & leaf, nbfin, icntl, keep, keep8, dkeep, root,
696 & opassw, opeliw, itloc, rhs_mumps, fils, dad,
698 & intarr, dblarr, nd, frere,
699 & nelt+1, nelt, frt_ptr, frt_elt,
701 & istep_to_iniv2, tab_pos_in_pere, lrgroups
703 IF ( info(1) .LT. 0 )
GOTO 500
707 IF (pimaster(step(ison)).GT.0)
THEN
709 DO WHILE (ierr.EQ.-1)
710 ptrcol = pimaster(step(ison)) + hs + nrows + npivs + nelim
711 pdest = pimaster(step(ison)) + 6 + keep(ixsz)
713 & nass1, nfs4father,ison, myid,
714 & izero, idummy, iw(ptrcol), ncbson,
715 & comm, ierr, iw(pdest), nslson,
717 & keep,keep8, step, n,
718 & istep_to_iniv2, tab_pos_in_pere
723 message_received = .false.
725 & blocking, set_irecv, message_received,
726 & mpi_any_source, mpi_any_tag,
728 & bufr, lbufr, lbufr_bytes, procnode_steps, posfac,
729 & iwpos, iwposcb, iptrlu,
730 & lrlu, lrlus, n, iw, liw, a, la,
731 & ptrist, ptlust, ptrfac,
732 & ptrast, step, pimaster, pamaster, nstk_s,
comp,
733 & info(1), info(2), comm,
735 & ipool, lpool, leaf,
736 & nbfin, myid, slavef,
737 & root, opassw, opeliw, itloc, rhs_mumps,
738 & fils, dad, ptrarw, ptraiw,
739 & intarr, dblarr, icntl, keep, keep8,dkeep, nd, frere,
740 & nelt+1, nelt, frt_ptr, frt_elt,
741 & istep_to_iniv2, tab_pos_in_pere, .true., lrgroups )
742 IF ( info(1) .LT. 0 )
GOTO 500
745 IF (ierr .EQ. -2)
GOTO 290
746 IF (ierr .EQ. -3)
GOTO 295
749 ison = frere(step(ison))
752 DO iell=elbeg,elbeg+numelt-1
755 j28= ptraiw(elti+1)-1
757 size_elti8 = j28 - j18 + 1_8
760 IF (keep(50).EQ.0)
THEN
761 ainput8 = aii8 + ii8 - j18
762 ict12 = poselt + int(i-1,8) * nfront8
764 apos2 = ict12 + int(intarr(jj8) - 1,8)
765 a(apos2) = a(apos2) + dblarr(ainput8)
766 ainput8 = ainput8 + size_elti8
769 ict12 = poselt + int(- nfront + i - 1,8)
770 ict21 = poselt + int(i-1,8)*nfront8 - 1_8
774 apos2 = ict12 + int(j,8)*nfront8
776 apos2 = ict21 + int(j,8)
778 a(apos2) = a(apos2) + dblarr(aii8)
784 IF (keep(253).GT.0)
THEN
785 poselt = ptrast(step(inode))
787 ijrow = pos_first_numorg
789 IF (keep(50).EQ.0)
THEN
792 & int(ijrow-1,8) * nfront8 +
793 & int(nfront-keep(253)+j253-1,8)
794 a(apos) = a(apos) + rhs_mumps( (j253-1)*keep(254)+ibrot )
799 & int(nfront-keep(253)+j253-1,8) * nfront8 +
801 a(apos) = a(apos) + rhs_mumps( (j253-1)*keep(254)+ibrot )
808 IF (parpiv_t1.NE.0.AND.(.NOT.son_level2))
THEN
809 ioldps = ptlust(step(inode))
811 & n, inode, iw, liw, a, la, keep, perm,
813 & nfront, nass1, lr_activated, parpiv_t1, nass)
821 &
' FAILURE IN INTEGER ALLOCATION DURING ZMUMPS_ASM_NIV1_ELT'
827 &
' FAILURE, SEND BUFFER TOO SMALL DURING ZMUMPS_ASM_NIV1_ELT'
830 lreq = ncbson + 6+nslson+keep(ixsz)
831 info(2) = lreq * keep( 34 )
836 &
' FAILURE, RECV BUFFER TOO SMALL DURING ZMUMPS_ASM_NIV1_ELT'
839 lreq = ncbson + 6+nslson+keep(ixsz)
840 info(2) = lreq * keep( 34 )
843 IF (info(1).EQ.-13)
THEN
845 WRITE( lp, * )
' FAILURE IN INTEGER',
846 &
' DYNAMIC ALLOCATION DURING ZMUMPS_ASM_NIV1_ELT'
851 IF ( keep(405) .EQ. 0 )
THEN