/[escript]/trunk/paso/src/MKL.c
ViewVC logotype

Diff of /trunk/paso/src/MKL.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3641 by caltinay, Wed Feb 2 01:54:45 2011 UTC revision 3642 by caltinay, Thu Oct 27 03:41:51 2011 UTC
# Line 42  void Paso_MKL_free(Paso_SparseMatrix* A) Line 42  void Paso_MKL_free(Paso_SparseMatrix* A)
42               _INTEGER_t mtype = MKL_MTYPE_UNSYM;               _INTEGER_t mtype = MKL_MTYPE_UNSYM;
43               _INTEGER_t n = A->numRows;               _INTEGER_t n = A->numRows;
44               _INTEGER_t maxfct=1; /* number of factorizations on the same pattern */               _INTEGER_t maxfct=1; /* number of factorizations on the same pattern */
45               _INTEGER_t mnum =1; /* factoriztion to be handeled in this call */               _INTEGER_t mnum =1; /* factorization to be handled in this call */
46               _INTEGER_t msglvl=0; /* message level */               _INTEGER_t msglvl=0; /* message level */
47               _INTEGER_t nrhs=1; /* number of right hand sides */               _INTEGER_t nrhs=1; /* number of right hand sides */
48               _INTEGER_t idum; /* dummy integer */               _INTEGER_t idum; /* dummy integer */
# Line 81  void Paso_MKL(Paso_SparseMatrix* A, Line 81  void Paso_MKL(Paso_SparseMatrix* A,
81       _INTEGER_t mtype = MKL_MTYPE_UNSYM;       _INTEGER_t mtype = MKL_MTYPE_UNSYM;
82       _INTEGER_t n = A->numRows;       _INTEGER_t n = A->numRows;
83       _INTEGER_t maxfct=1; /* number of factorizations on the same pattern */       _INTEGER_t maxfct=1; /* number of factorizations on the same pattern */
84       _INTEGER_t mnum =1; /* factoriztion to be handeled in this call */       _INTEGER_t mnum =1; /* factorization to be handled in this call */
85       _INTEGER_t msglvl=0; /* message level */       _INTEGER_t msglvl=0; /* message level */
86       _INTEGER_t nrhs=1; /* number of right hand sides */       _INTEGER_t nrhs=1; /* number of right hand sides */
87       _INTEGER_t idum; /* dummy integer */       _INTEGER_t idum; /* dummy integer */
# Line 115  void Paso_MKL(Paso_SparseMatrix* A, Line 115  void Paso_MKL(Paso_SparseMatrix* A,
115       #endif       #endif
116       iparm[5] = 0; /* store solution into output array */       iparm[5] = 0; /* store solution into output array */
117       iparm[7] = numRefinements; /* maximum number of refinements */       iparm[7] = numRefinements; /* maximum number of refinements */
118       iparm[9] = 13; /* 10**(-iparm[9]) preturbation of pivot elements */       iparm[9] = 13; /* 10**(-iparm[9]) perturbation of pivot elements */
119       iparm[10] = 1; /* rescaling the matrix before factorization started */       iparm[10] = 1; /* rescaling the matrix before factorization started */
120       iparm[17] =0; /* =-1 report number of non-zeroes */       iparm[17] =0; /* =-1 report number of non-zeroes */
121       iparm[18] =0; /* =-1 report flops */       iparm[18] =0; /* =-1 report flops */
# Line 134  void Paso_MKL(Paso_SparseMatrix* A, Line 134  void Paso_MKL(Paso_SparseMatrix* A,
134                   &n, A->val, A->pattern->ptr, A->pattern->index, &idum, &nrhs,                   &n, A->val, A->pattern->ptr, A->pattern->index, &idum, &nrhs,
135                   iparm, &msglvl, in, out, &error);                   iparm, &msglvl, in, out, &error);
136          if (error != MKL_ERROR_NO) {          if (error != MKL_ERROR_NO) {
137               if (verbose) printf("MKL: symbolic factorization factorization failed.\n");               if (verbose) printf("MKL: symbolic factorization failed.\n");
138               Esys_setError(VALUE_ERROR,"symbolic factorization in PARDISO library failed.");               Esys_setError(VALUE_ERROR,"symbolic factorization in PARDISO library failed.");
139               Paso_MKL_free(A);               Paso_MKL_free(A);
140          } else {          } else {
# Line 167  void Paso_MKL(Paso_SparseMatrix* A, Line 167  void Paso_MKL(Paso_SparseMatrix* A,
167          }          }
168       }       }
169  #else  #else
170      Esys_setError(SYSTEM_ERROR,"Paso_MKL:MKL is not avialble.");      Esys_setError(SYSTEM_ERROR,"Paso_MKL: MKL is not available.");
171  #endif  #endif
172  }  }
173    

Legend:
Removed from v.3641  
changed lines
  Added in v.3642

  ViewVC Help
Powered by ViewVC 1.1.26