69 if ((intLoad (stream, &versval) +
70 intLoad (stream, &cblknbr) +
71 intLoad (stream, &bloknbr) +
72 intLoad (stream, &nodenbr) +
73 intLoad (stream, &baseval) != 5) ||
76 (bloknbr < cblknbr) ||
77 (nodenbr < cblknbr)) {
78 pastix_print_error(
"solverLoad: bad input (1)" );
83 pastix_print_error(
"solverLoad: Version 0 and 1 of the solver files are not supported anymore" );
90 pastix_print_error(
"solverLoad: out of memory" );
100 for (cblknum = 0; cblknum < cblknbr; cblknum ++) {
103 intLoad (stream, &bloknum) != 3) ||
105 pastix_print_error(
"solverLoad: bad input (2)" );
116 for (bloknum = 0; bloknum < bloknbr; bloknum ++) {
121 pastix_print_error(
"solverLoad: bad input (3)" );
129 if ((versval == 0) &&
130 ((intLoad (stream, &levfval) != 1) ||
132 pastix_print_error(
"solverLoad: bad input (4)" );
141 if( intLoad (stream, &solvptr->
coefnbr) +
142 intLoad (stream, &solvptr->gemmmax) +
143 intLoad (stream, &tmp) +
144 intLoad (stream, &tmp) +
145 intLoad (stream, &clustnum) +
146 intLoad (stream, &clustnbr) +
147 intLoad (stream, &solvptr->tasknbr) +
148 intLoad (stream, &solvptr->procnbr) +
149 intLoad (stream, &solvptr->thrdnbr)
152 pastix_print_error(
"solverLoad: bad input (1)" );
161 ((solvptr->tasktab = (
Task *) memAlloc((solvptr->tasknbr+1) *
sizeof(
Task) )) == NULL) ||
165 pastix_print_error(
"solverLoad: out of memory (1)" );
166 if (solvptr->
cblktab != NULL) {
167 memFree_null (solvptr->
cblktab);
169 if (solvptr->
bloktab != NULL) {
170 memFree_null (solvptr->
bloktab);
172 if (solvptr->tasktab != NULL) {
173 memFree_null (solvptr->tasktab);
178 for (cblkptr = solvptr->
cblktab,
179 cblktnd = cblkptr + solvptr->
cblknbr;
180 cblkptr < cblktnd; cblkptr ++)
182 if (intLoad (stream, &cblkptr->
stride) != 1)
184 pastix_print_error(
"solverlLoad: bad input (2)" );
190 for (blokptr = solvptr->
bloktab,
191 bloktnd = blokptr + solvptr->
bloknbr;
192 blokptr < bloktnd; blokptr ++)
194 if (intLoad (stream, &blokptr->
coefind) != 1)
196 pastix_print_error(
"solverLoad: bad input (3)" );
203 for (taskptr = solvptr->tasktab,
204 tasknd = taskptr + solvptr->tasknbr +1;
205 (taskptr < tasknd); taskptr ++)
209 intLoad(stream, &(taskptr->
taskid));
210 intLoad(stream, &(taskptr->
prionum));
211 intLoad(stream, &(taskptr->
cblknum));
212 intLoad(stream, &(taskptr->
bloknum));
215 intLoad(stream, &temp);
220 for(i=0;i<solvptr->thrdnbr;i++)
222 intLoad(stream, &(solvptr->ttsknbr[i]));
223 MALLOC_INTERN(solvptr->ttsktab[i], solvptr->ttsknbr[i],
pastix_int_t);
224 if (solvptr->ttsktab[i] == NULL)
226 pastix_print_error(
"solverLoad: out of memory (1)" );
229 for (j=0;j<solvptr->ttsknbr[i];j++)
231 intLoad(stream, &(solvptr->ttsktab[i][j]));
278 o = (fprintf (stream,
"2\n%ld\t%ld\t%ld\t%ld\n",
282 (
long) solvptr->
baseval) == EOF);
283 for (cblkptr = solvptr->
cblktab, cblktnd = cblkptr + solvptr->
cblknbr;
284 (cblkptr < cblktnd) && (o == 0); cblkptr ++) {
285 o = (fprintf (stream,
"%ld\t%ld\t%ld\n",
290 for (blokptr = solvptr->
bloktab, bloktnd = blokptr + solvptr->
bloknbr;
291 (blokptr < bloktnd) && (o == 0); blokptr ++) {
292 o = (fprintf (stream,
"%ld\t%ld\t%ld\n",
301 o = (fprintf (stream,
"\n%ld\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\t%ld\n",
303 (
long) solvptr->gemmmax,
306 (
long) solvptr->clustnum,
307 (
long) solvptr->clustnbr,
308 (
long) solvptr->tasknbr,
309 (
long) solvptr->procnbr,
310 (
long) solvptr->thrdnbr
314 for (cblkptr = solvptr->
cblktab, cblktnd = cblkptr + solvptr->
cblknbr;
315 (cblkptr < cblktnd) && (o == 0); cblkptr ++)
317 o = (fprintf (stream,
"%ld\n",
318 (
long) cblkptr->
stride) == EOF);
322 for (blokptr = solvptr->
bloktab,
323 bloktnd = blokptr + solvptr->
bloknbr;
324 (blokptr < bloktnd) && (o == 0); blokptr ++)
326 o = (fprintf (stream,
"%ld\n",(
long) blokptr->
coefind) == EOF);
329 fprintf(stream,
"\n");
330 fprintf(stream,
"\n");
334 Task *taskend = solvptr->tasktab + solvptr->tasknbr;
335 for (taskptr = solvptr->tasktab;
336 (taskptr < taskend) && (o==0); taskptr ++)
338 fprintf(stream,
"%ld\t%ld\t%ld\t%ld\t%ld\n",
345 for (i=0; i<solvptr->thrdnbr; i++)
347 fprintf(stream,
"%ld\n", (
long)solvptr->ttsknbr[i]);
348 for (j=0; j<solvptr->ttsknbr[i]; j++)
350 fprintf(stream,
"%ld\n", (
long)solvptr->ttsktab[i][j]);