Revision | 2fd7f2eda6cc0d8e998c504d73e94233b9448365 (tree) |
---|---|
Time | 2013-09-24 20:07:48 |
Author | Mikiya Fujii <mikiya.fujii@gmai...> |
Commiter | Mikiya Fujii |
Modifications for complation on FX10 are done, but this is not perfect yet. #32094
git-svn-id: https://svn.sourceforge.jp/svnroot/molds/branches/fx10@1519 1136aad2-a195-0410-b898-f5ea1d11b9d8
@@ -0,0 +1,65 @@ | ||
1 | +#//************************************************************************// | |
2 | +#// Copyright (C) 2011-2012 Mikiya Fujii // | |
3 | +#// Copyright (C) 2012-2013 Katsuhiko Nishimra // | |
4 | +#// // | |
5 | +#// This file is part of MolDS. // | |
6 | +#// // | |
7 | +#// MolDS is free software: you can redistribute it and/or modify // | |
8 | +#// it under the terms of the GNU General Public License as published by // | |
9 | +#// the Free Software Foundation, either version 3 of the License, or // | |
10 | +#// (at your option) any later version. // | |
11 | +#// // | |
12 | +#// MolDS is distributed in the hope that it will be useful, // | |
13 | +#// but WITHOUT ANY WARRANTY; without even the implied warranty of // | |
14 | +#// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // | |
15 | +#// GNU General Public License for more details. // | |
16 | +#// // | |
17 | +#// You should have received a copy of the GNU General Public License // | |
18 | +#// along with MolDS. If not, see <http://www.gnu.org/licenses/>. // | |
19 | +#//************************************************************************// | |
20 | +CC = mpiFCCpx | |
21 | +#CFLAGS = -Kfast,openmp -SSL2BLAMP -Xg | |
22 | +CFLAGS = -O0 -Kopenmp -SSL2BLAMP -Xg | |
23 | +BOOST_TOP_DIR = /home/n0011/n001101/opt/boost/boost1.49.0/ | |
24 | +BOOST_INC_DIR = $(BOOST_TOP_DIR)include/ | |
25 | +BOOST_LIB_DIR = $(BOOST_TOP_DIR)lib/ | |
26 | +BOOST_LIBS = -lboost | |
27 | +#OPENBLAS_TOP_DIR = /usr/local/openblas/ | |
28 | +#OPENBLAS_INC_DIR = $(OPENBLAS_TOP_DIR)include/ | |
29 | +#OPENBLAS_LIB_DIR = $(OPENBLAS_TOP_DIR)lib/ | |
30 | +#OPENBLAS_LIBS = -lopenblas | |
31 | +#LIBSBASE = -lpthread -lgomp | |
32 | +#LIBS = $(LIBSBASE) $(BOOST_LIBS) $(OPENBLAS_LIBS) | |
33 | +#LIBS = $(LIBSBASE) $(BOOST_LIBS) | |
34 | +LIBS = $(BOOST_LIBS) | |
35 | +EXENAME = MolDS.out | |
36 | +DEPFILE = obj/objfile.dep | |
37 | +#LDFLAGS = -Kfast,openmp -SSL2BLAMP -Xg | |
38 | +LDFLAGS = -O0 -Kopenmp -SSL2BLAMP -Xg | |
39 | + | |
40 | +ALL_CPP_FILES = base/Enums.cpp base/PrintController.cpp base/MolDSException.cpp base/MallocerFreer.cpp mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/RealSphericalHarmonicsIndex.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp cndo/Cndo2.cpp indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp base/MolDS.cpp Main.cpp | |
41 | +ALL_HEAD_FILES = base/Enums.h base/Uncopyable.h base/PrintController.h base/MolDSException.h base/containers/ThreadSafeQueue.h base/MallocerFreer.h mpi/MpiProcess.h mpi/AsyncCommunicator.h wrappers/Blas.h wrappers/Lapack.h base/Utilities.h base/MathUtilities.h base/EularAngle.h base/Parameters.h base/atoms/Atom.h base/atoms/Hatom.h base/atoms/Liatom.h base/atoms/Catom.h base/atoms/Natom.h base/atoms/Oatom.h base/atoms/Satom.h base/factories/AtomFactory.h base/Molecule.h base/InputParser.h base/GTOExpansionSTO.h base/RealSphericalHarmonicsIndex.h base/loggers/MOLogger.h base/loggers/DensityLogger.h base/loggers/HoleDensityLogger.h base/loggers/ParticleDensityLogger.h base/ElectronicStructure.h cndo/Cndo2.h cndo/ReducedOverlapAOsParameters.h indo/Indo.h zindo/ZindoS.h mndo/Mndo.h am1/Am1.h am1/Am1D.h pm3/Pm3.h pm3/Pm3D.h pm3/Pm3Pddg.h base/factories/ElectronicStructureFactory.h md/MD.h mc/MC.h rpmd/RPMD.h nasco/NASCO.h optimization/Optimizer.h optimization/ConjugateGradient.h optimization/SteepestDescent.h optimization/BFGS.h optimization/GEDIIS.h base/factories/OptimizerFactory.h base/MolDS.h | |
42 | +ALL_OBJ_FILES = obj/Enums.o obj/PrintController.o obj/MolDSException.o obj/MallocerFreer.o obj/MpiProcess.o obj/AsyncCommunicator.o obj/Blas.o obj/Lapack.o obj/Utilities.o obj/MathUtilities.o obj/EularAngle.o obj/Parameters.o obj/Atom.o obj/Hatom.o obj/Liatom.o obj/Catom.o obj/Natom.o obj/Oatom.o obj/Satom.o obj/AtomFactory.o obj/Molecule.o obj/InputParser.o obj/GTOExpansionSTO.o obj/RealSphericalHarmonicsIndex.o obj/MOLogger.o obj/DensityLogger.o obj/HoleDensityLogger.o obj/ParticleDensityLogger.o obj/Cndo2.o obj/Indo.o obj/ZindoS.o obj/Mndo.o obj/Am1.o obj/Am1D.o obj/Pm3.o obj/Pm3D.o obj/Pm3Pddg.o obj/ElectronicStructureFactory.o obj/MD.o obj/MC.o obj/RPMD.o obj/NASCO.o obj/Optimizer.o obj/ConjugateGradient.o obj/SteepestDescent.o obj/BFGS.o obj/GEDIIS.o obj/OptimizerFactory.o obj/MolDS.o obj/Main.o | |
43 | + | |
44 | +$(EXENAME): $(ALL_OBJ_FILES) | |
45 | + $(CC) -o $@ $(LDFLAGS) -Wl,-rpath=$(BOOST_LIB_DIR) $(LDFLAGS) $(ALL_OBJ_FILES) -L$(BOOST_LIB_DIR) $(LIBS) | |
46 | +# $(CC) -o $@ $(LDFLAGS) -Wl,-rpath=$(BOOST_LIB_DIR) -Wl,-rpath=$(OPENBLAS_LIB_DIR) $(LDFLAGS) $(ALL_OBJ_FILES) -L$(BOOST_LIB_DIR) -L$(OPENBLAS_LIB_DIR) $(LIBS) | |
47 | + | |
48 | +-include $(DEPFILE) | |
49 | + | |
50 | +.PHONY: depend | |
51 | +depend: | |
52 | + rm $(DEPFILE) | |
53 | + +make $(DEPFILE) | |
54 | + | |
55 | +$(DEPFILE): Makefile_FX10 | |
56 | + $(CC) -MM $(ALL_CPP_FILES) -I$(BOOST_INC_DIR) | sed 's/^\([^ ]\)/obj\/\1/g' | sed 's/\($$*\)\.o[ :]*/\1.o : /g' > $(DEPFILE) | |
57 | +# $(CC) -MM $(ALL_CPP_FILES) -I$(BOOST_INC_DIR) -I$(OPENBLAS_INC_DIR) | sed 's/^\([^ ]\)/obj\/\1/g' | sed 's/\($$*\)\.o[ :]*/\1.o : /g' > $(DEPFILE) | |
58 | +$(ALL_OBJ_FILES): | |
59 | + $(CC) -I$(BOOST_INC_DIR) -o $@ $< $(CFLAGS) -c | |
60 | +# $(CC) -I$(BOOST_INC_DIR) -I$(OPENBLAS_INC_DIR) -o $@ $< $(CFLAGS) -c | |
61 | +.PHONY: clean | |
62 | +clean: | |
63 | + rm -f $(ALL_OBJ_FILES) $(EXENAME) $(DEPFILE) | |
64 | + | |
65 | +all: clean $(EXENAME) |
@@ -119,8 +119,13 @@ void CalcRotatingMatrix(double matrix[][3], double theta, CartesianType cartesia | ||
119 | 119 | // calculate determinant of the matrix |
120 | 120 | double GetDeterminant(double** matrix, int dim){ |
121 | 121 | double determinant=1.0; |
122 | +#ifdef __FCC_VERSION | |
123 | + int* ipiv=NULL; | |
124 | + MallocerFreer::GetInstance()->Malloc<int>(&ipiv, dim); | |
125 | +#else | |
122 | 126 | intptr_t* ipiv=NULL; |
123 | 127 | MallocerFreer::GetInstance()->Malloc<intptr_t>(&ipiv, dim); |
128 | +#endif | |
124 | 129 | MolDS_wrappers::Lapack::GetInstance()->Dgetrf(matrix, ipiv, dim, dim); |
125 | 130 | for(int i=0; i<dim; i++){ |
126 | 131 | determinant*=matrix[i][i]; |
@@ -128,7 +133,11 @@ double GetDeterminant(double** matrix, int dim){ | ||
128 | 133 | determinant *= -1.0; |
129 | 134 | } |
130 | 135 | } |
136 | +#ifdef __FCC_VERSION | |
137 | + MallocerFreer::GetInstance()->Free<int>(&ipiv, dim); | |
138 | +#else | |
131 | 139 | MallocerFreer::GetInstance()->Free<intptr_t>(&ipiv, dim); |
140 | +#endif | |
132 | 141 | return determinant; |
133 | 142 | } |
134 | 143 | } |
@@ -160,9 +160,11 @@ void MolDSException::serialize(Archive& ar, const unsigned int ver){ | ||
160 | 160 | } |
161 | 161 | |
162 | 162 | void MolDSException::Serialize(std::ostream& os){ |
163 | +#ifndef __FCC_VERSION | |
163 | 164 | boost::archive::text_oarchive oa(os); |
164 | 165 | std::string what = domain_error::what(); |
165 | 166 | oa << this; |
167 | +#endif | |
166 | 168 | } |
167 | 169 | |
168 | 170 | MolDSException MolDSException::Deserialize(std::istream& is){ |
@@ -34,6 +34,8 @@ | ||
34 | 34 | |
35 | 35 | #ifdef __INTEL_COMPILER |
36 | 36 | #include"mkl.h" |
37 | +#elif defined __FCC_VERSION | |
38 | +#include"fj_lapack.h" | |
37 | 39 | #else |
38 | 40 | #include"cblas.h" |
39 | 41 | #endif |
@@ -84,7 +86,11 @@ void Blas::Dcopy(molds_blas_int n, | ||
84 | 86 | double const* vectorX, molds_blas_int incrementX, |
85 | 87 | double* vectorY, molds_blas_int incrementY) const{ |
86 | 88 | double* x = const_cast<double*>(&vectorX[0]); |
89 | +#ifdef __FCC_VERSION | |
90 | + dcopy_(&n, x, &incrementX, vectorY, &incrementY); | |
91 | +#else | |
87 | 92 | cblas_dcopy(n, x, incrementX, vectorY, incrementY); |
93 | +#endif | |
88 | 94 | } |
89 | 95 | |
90 | 96 | // vectorY = alpha*vectorX + vectorY |
@@ -105,7 +111,11 @@ void Blas::Daxpy(molds_blas_int n, double alpha, | ||
105 | 111 | double const* vectorX, molds_blas_int incrementX, |
106 | 112 | double* vectorY, molds_blas_int incrementY) const{ |
107 | 113 | double* x = const_cast<double*>(&vectorX[0]); |
114 | +#ifdef __FCC_VERSION | |
115 | + daxpy_(&n, &alpha, x, &incrementX, vectorY, &incrementY); | |
116 | +#else | |
108 | 117 | cblas_daxpy(n, alpha, x, incrementX, vectorY, incrementY); |
118 | +#endif | |
109 | 119 | } |
110 | 120 | |
111 | 121 | // returns vectorX^T*vectorY |
@@ -127,7 +137,11 @@ double Blas::Ddot(molds_blas_int n, | ||
127 | 137 | double const* vectorY, molds_blas_int incrementY)const{ |
128 | 138 | double* x=const_cast<double*>(vectorX), |
129 | 139 | * y=const_cast<double*>(vectorY); |
140 | +#ifdef __FCC_VERSION | |
141 | + return ddot_(&n, x, &incrementX, y, &incrementY); | |
142 | +#else | |
130 | 143 | return cblas_ddot(n, x, incrementX, y, incrementY); |
144 | +#endif | |
131 | 145 | } |
132 | 146 | |
133 | 147 | // returns max(abs(vectorX[i])) |
@@ -143,7 +157,12 @@ double Blas::Damax(molds_blas_int n, | ||
143 | 157 | double Blas::Damax(molds_blas_int n, |
144 | 158 | double const* vectorX, molds_blas_int incrementX)const{ |
145 | 159 | double* x=const_cast<double*>(vectorX); |
146 | - molds_blas_int i = cblas_idamax(n, x, incrementX); | |
160 | + molds_blas_int i = 0; | |
161 | +#ifdef __FCC_VERSION | |
162 | + i = idamax_(&n, x, &incrementX); | |
163 | +#else | |
164 | + i = cblas_idamax(n, x, incrementX); | |
165 | +#endif | |
147 | 166 | return abs(vectorX[incrementX*i]); |
148 | 167 | } |
149 | 168 |
@@ -178,6 +197,19 @@ void Blas::Dgemv(bool isColumnMajorMatrixA, | ||
178 | 197 | molds_blas_int incrementY) const{ |
179 | 198 | double* a = const_cast<double*>(&matrixA[0][0]); |
180 | 199 | double* x = const_cast<double*>(&vectorX[0]); |
200 | +#ifdef __FCC_VERSION | |
201 | + char* transA; | |
202 | + molds_blas_int transALen=1; | |
203 | + if(isColumnMajorMatrixA){ | |
204 | + transA = "n"; | |
205 | + } | |
206 | + else{ | |
207 | + transA = "t"; | |
208 | + swap(m,n); | |
209 | + } | |
210 | + molds_blas_int lda = m; | |
211 | + dgemv_(transA, &m, &n, &alpha, a, &lda, x, &incrementX, &beta, vectorY, &incrementY, transALen); | |
212 | +#else | |
181 | 213 | CBLAS_TRANSPOSE transA; |
182 | 214 | if(isColumnMajorMatrixA){ |
183 | 215 | transA = CblasNoTrans; |
@@ -188,10 +220,13 @@ void Blas::Dgemv(bool isColumnMajorMatrixA, | ||
188 | 220 | } |
189 | 221 | molds_blas_int lda = m; |
190 | 222 | cblas_dgemv(CblasColMajor, transA, m, n, alpha, a, lda, x, incrementX, beta, vectorY, incrementY); |
223 | +#endif | |
224 | + | |
225 | + | |
191 | 226 | } |
192 | 227 | |
193 | 228 | // vectorY = matrixA*vectorX |
194 | -// matrixA: n*n-matrix,symmetric (Use the upper triangular part) | |
229 | +// matrixA: n*n-matrix,symmetric (Use the upper triangular part in row-major(C/C++ style)) | |
195 | 230 | // vectorX: n-vector |
196 | 231 | // vectorY: n-vector |
197 | 232 | void Blas::Dsymv(molds_blas_int n, |
@@ -205,7 +240,7 @@ void Blas::Dsymv(molds_blas_int n, | ||
205 | 240 | } |
206 | 241 | |
207 | 242 | // vectorY = alpha*matrixA*vectorX + beta*vectorY |
208 | -// matrixA: n*n-matrix,symmetric (Use the upper triangular part) | |
243 | +// matrixA: n*n-matrix,symmetric (Use the upper triangular part in row-major(C/C++ style)) | |
209 | 244 | // vectorX: n-vector |
210 | 245 | // vectorY: n-vector |
211 | 246 | void Blas::Dsymv(molds_blas_int n, double alpha, |
@@ -213,11 +248,25 @@ void Blas::Dsymv(molds_blas_int n, double alpha, | ||
213 | 248 | double const* vectorX, molds_blas_int incrementX, |
214 | 249 | double beta, |
215 | 250 | double* vectorY, molds_blas_int incrementY) const{ |
216 | - double* a = const_cast<double*>(&matrixA[0][0]); | |
217 | 251 | double* x = const_cast<double*>(&vectorX[0]); |
218 | - CBLAS_UPLO uploA=CblasUpper; | |
219 | 252 | molds_blas_int lda = n; |
253 | +#ifdef __FCC_VERSION | |
254 | + char* uploA = "u"; | |
255 | + double* convertedMatrixA=NULL; | |
256 | + convertedMatrixA = (double*)malloc(sizeof(double)*n*n); | |
257 | + for(molds_blas_int i=0; i<n; i++){ | |
258 | + for(molds_blas_int j=i; j<n; j++){ | |
259 | + convertedMatrixA[i+j*n] = matrixA[i][j]; | |
260 | + } | |
261 | + } | |
262 | + molds_blas_int uploALen =1; | |
263 | + dsymv_(uploA, &n, &alpha, convertedMatrixA, &lda, x, &incrementX, &beta, vectorY, &incrementY, uploALen); | |
264 | + free(convertedMatrixA); | |
265 | +#else | |
266 | + double* a = const_cast<double*>(&matrixA[0][0]); | |
267 | + CBLAS_UPLO uploA=CblasUpper; | |
220 | 268 | cblas_dsymv(CblasRowMajor, uploA, n, alpha, a, lda, x, incrementX, beta, vectorY, incrementY); |
269 | +#endif | |
221 | 270 | } |
222 | 271 | |
223 | 272 | // matrixA = alpha*vectorX*vectorX^T + matrixA |
@@ -235,15 +284,33 @@ void Blas::Dsyr(molds_blas_int n, double alpha, | ||
235 | 284 | double ** matrixA)const{ |
236 | 285 | double* a = &matrixA[0][0]; |
237 | 286 | double* x = const_cast<double*>(&vectorX[0]); |
238 | - CBLAS_UPLO uploA=CblasUpper; | |
287 | + | |
239 | 288 | molds_blas_int lda = n; |
289 | +#ifdef __FCC_VERSION | |
290 | + char* uploA = "u"; | |
291 | + molds_blas_int uploALen =1; | |
292 | + for(molds_blas_int i=0; i<n; i++){ | |
293 | + for(molds_blas_int j=i; j<n; j++){ | |
294 | + matrixA[j][i] = matrixA[i][j]; | |
295 | + } | |
296 | + } | |
297 | + dsyr_(uploA, &n, &alpha, x, &incrementX, a, &lda, uploALen); | |
298 | +#pragma omp parallel for schedule(auto) | |
299 | + for(molds_blas_int i=0;i<n;i++){ | |
300 | + for(molds_blas_int j=i+1;j<n;j++){ | |
301 | + matrixA[i][j] = matrixA[j][i]; // Note that output matrixA is column-major(Fortran style) in BLAS | |
302 | + } | |
303 | + } | |
304 | +#else | |
305 | + CBLAS_UPLO uploA=CblasUpper; | |
240 | 306 | cblas_dsyr(CblasRowMajor, uploA, n, alpha, x, incrementX, a, lda); |
241 | 307 | #pragma omp parallel for schedule(auto) |
242 | 308 | for(molds_blas_int i=0;i<n;i++){ |
243 | 309 | for(molds_blas_int j=i+1;j<n;j++){ |
244 | - matrixA[j][i] = matrixA[i][j]; | |
310 | + matrixA[j][i] = matrixA[i][j]; // Note that output matrixA is row-major(C/C++ stype) | |
245 | 311 | } |
246 | 312 | } |
313 | +#endif | |
247 | 314 | } |
248 | 315 | |
249 | 316 | // matrixC = matrixA*matrixB |
@@ -295,6 +362,18 @@ void Blas::Dgemm(bool isColumnMajorMatrixA, | ||
295 | 362 | double* c = &matrixC[0][0]; |
296 | 363 | |
297 | 364 | molds_blas_int lda; |
365 | +#ifdef __FCC_VERSION | |
366 | + char* transA; | |
367 | + molds_blas_int transALen=1; | |
368 | + if(isColumnMajorMatrixA){ | |
369 | + transA = "n"; | |
370 | + lda = m; | |
371 | + } | |
372 | + else{ | |
373 | + transA = "t"; | |
374 | + lda = k; | |
375 | + } | |
376 | +#else | |
298 | 377 | CBLAS_TRANSPOSE transA; |
299 | 378 | if(isColumnMajorMatrixA){ |
300 | 379 | transA = CblasNoTrans; |
@@ -304,8 +383,21 @@ void Blas::Dgemm(bool isColumnMajorMatrixA, | ||
304 | 383 | transA = CblasTrans; |
305 | 384 | lda = k; |
306 | 385 | } |
386 | +#endif | |
307 | 387 | |
308 | 388 | molds_blas_int ldb; |
389 | +#ifdef __FCC_VERSION | |
390 | + char* transB; | |
391 | + molds_blas_int transBLen=1; | |
392 | + if(isColumnMajorMatrixB){ | |
393 | + transB = "n"; | |
394 | + ldb = k; | |
395 | + } | |
396 | + else{ | |
397 | + transB = "t"; | |
398 | + ldb = n; | |
399 | + } | |
400 | +#else | |
309 | 401 | CBLAS_TRANSPOSE transB; |
310 | 402 | if(isColumnMajorMatrixB){ |
311 | 403 | transB = CblasNoTrans; |
@@ -315,6 +407,7 @@ void Blas::Dgemm(bool isColumnMajorMatrixA, | ||
315 | 407 | transB = CblasTrans; |
316 | 408 | ldb = n; |
317 | 409 | } |
410 | +#endif | |
318 | 411 | |
319 | 412 | double* tmpC; |
320 | 413 | #ifdef __INTEL_COMPILER |
@@ -335,8 +428,11 @@ void Blas::Dgemm(bool isColumnMajorMatrixA, | ||
335 | 428 | } |
336 | 429 | |
337 | 430 | //call blas |
431 | +#ifdef __FCC_VERSION | |
432 | + dgemm_(transA, transB, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, tmpC, &ldc, transALen, transBLen); | |
433 | +#else | |
338 | 434 | cblas_dgemm(CblasColMajor, transA, transB, m, n, k, alpha, a, lda, b, ldb, beta, tmpC, ldc); |
339 | - | |
435 | +#endif | |
340 | 436 | if(isColumnMajorMatrixC){ |
341 | 437 | this->Dcopy(m*n, tmpC, &matrixC[0][0]); |
342 | 438 | } |
@@ -460,23 +556,86 @@ void Blas::Dsyrk(molds_blas_int n, molds_blas_int k, | ||
460 | 556 | double beta, double ** matrixC)const{ |
461 | 557 | double* c = &matrixC[0][0]; |
462 | 558 | double* a = const_cast<double*>(&matrixA[0][0]); |
559 | + molds_blas_int lda = &matrixA[1][0] - &matrixA[0][0]; | |
560 | + molds_blas_int ldc = &matrixC[1][0] - &matrixC[0][0]; | |
561 | +#ifdef __FCC_VERSION | |
562 | + molds_blas_int uploLen =1; | |
563 | + molds_blas_int transLen=1; | |
564 | + | |
565 | + double* convertedMatrixA=NULL; | |
566 | + if(!isMatrixAColumnMajor){ | |
567 | + convertedMatrixA = (double*)malloc(sizeof(double)*n*k); | |
568 | + molds_blas_int iSize=0; | |
569 | + molds_blas_int jSize=0; | |
570 | + if(isMatrixATransposed){ | |
571 | + iSize=k; | |
572 | + jSize=n; | |
573 | + } | |
574 | + else{ | |
575 | + iSize=n; | |
576 | + jSize=k; | |
577 | + } | |
578 | + lda=iSize; | |
579 | + for(molds_blas_int i=0; i<iSize; i++){ | |
580 | + for(molds_blas_int j=0; j<jSize; j++){ | |
581 | + convertedMatrixA[i+j*iSize] = matrixA[i][j]; | |
582 | + } | |
583 | + } | |
584 | + } | |
585 | + else{ | |
586 | + convertedMatrixA = a; | |
587 | + } | |
588 | + | |
589 | + char* uploC = "u"; | |
590 | + if(isLowerTriangularPartMatrixCUsed){ | |
591 | + uploC = "l"; | |
592 | + } | |
593 | + char* transA = "n"; | |
594 | + if(isMatrixATransposed){ | |
595 | + transA = "t"; | |
596 | + } | |
597 | + dsyrk_(uploC, transA, &n, &k, &alpha, convertedMatrixA, &lda, &beta, c, &ldc, uploLen, transLen); | |
598 | + if(!isMatrixAColumnMajor){ | |
599 | + free(convertedMatrixA); | |
600 | + } | |
601 | +#pragma omp parallel for schedule(auto) | |
602 | + for(molds_blas_int i=0;i<n;i++){ | |
603 | + for(molds_blas_int j=i+1;j<n;j++){ | |
604 | + if(isLowerTriangularPartMatrixCUsed){ | |
605 | + matrixC[j][i] = matrixC[i][j]; // Note that output matrixC is column-major(Fortran style) in BLAS | |
606 | + } | |
607 | + else{ | |
608 | + matrixC[i][j] = matrixC[j][i]; // Note that output matrixC is column-major(Fortran style) in BLAS | |
609 | + } | |
610 | + } | |
611 | + } | |
612 | +#else | |
463 | 613 | CBLAS_ORDER orderA = isMatrixAColumnMajor ? CblasColMajor : CblasRowMajor; |
464 | 614 | CBLAS_UPLO uploC= isLowerTriangularPartMatrixCUsed ? CblasLower : CblasUpper; |
465 | 615 | CBLAS_TRANSPOSE transA= isMatrixATransposed ? CblasTrans : CblasNoTrans; |
466 | - molds_blas_int lda = &matrixA[1][0] - &matrixA[0][0]; | |
467 | - molds_blas_int ldc = &matrixC[1][0] - &matrixC[0][0]; | |
468 | 616 | cblas_dsyrk(orderA, uploC, transA, n, k, alpha, a, lda, beta, c, ldc); |
469 | 617 | #pragma omp parallel for schedule(auto) |
470 | 618 | for(molds_blas_int i=0;i<n;i++){ |
471 | 619 | for(molds_blas_int j=i+1;j<n;j++){ |
472 | 620 | if(isLowerTriangularPartMatrixCUsed){ |
473 | - matrixC[i][j] = matrixC[j][i]; | |
621 | + if(orderA == CblasRowMajor){ | |
622 | + matrixC[i][j] = matrixC[j][i]; // Note that output matrixC is row-major(C/C++ style) | |
623 | + } | |
624 | + else{ | |
625 | + matrixC[j][i] = matrixC[i][j]; // Note that output matrixC is column-major(Fortran style) | |
626 | + } | |
474 | 627 | } |
475 | 628 | else{ |
476 | - matrixC[j][i] = matrixC[i][j]; | |
629 | + if(orderA == CblasRowMajor){ | |
630 | + matrixC[j][i] = matrixC[i][j]; // Note that output matrixC is row-major(C/C++ style) | |
631 | + } | |
632 | + else{ | |
633 | + matrixC[i][j] = matrixC[j][i]; // Note that output matrixC is column-major(Fortran style) | |
634 | + } | |
477 | 635 | } |
478 | 636 | } |
479 | 637 | } |
638 | +#endif | |
480 | 639 | } |
481 | 640 | |
482 | 641 | } |
@@ -21,7 +21,11 @@ | ||
21 | 21 | #define INCLUDED_BLAS |
22 | 22 | namespace MolDS_wrappers{ |
23 | 23 | //typedef intptr_t molds_blas_int; |
24 | +#ifdef __FCC_VERSION | |
25 | +typedef int molds_blas_int; | |
26 | +#else | |
24 | 27 | typedef intptr_t molds_blas_int; |
28 | +#endif | |
25 | 29 | // Blas is singleton |
26 | 30 | class Blas: public MolDS_base::PrintController, private MolDS_base::Uncopyable{ |
27 | 31 | public: |
@@ -33,14 +33,16 @@ | ||
33 | 33 | #include"Lapack.h" |
34 | 34 | |
35 | 35 | #ifdef __INTEL_COMPILER |
36 | -#include"mkl.h" | |
36 | + #include"mkl.h" | |
37 | +#elif defined __FCC_VERSION | |
38 | + #include"fj_lapack.h" | |
37 | 39 | #else |
38 | -#if ( __WORDSIZE == 32 ) | |
39 | -#else | |
40 | -#define HAVE_LAPACK_CONFIG_H | |
41 | -#define LAPACK_ILP64 | |
42 | -#endif | |
43 | -#include"lapacke.h" | |
40 | + #if ( __WORDSIZE == 32 ) | |
41 | + #else | |
42 | + #define HAVE_LAPACK_CONFIG_H | |
43 | + #define LAPACK_ILP64 | |
44 | + #endif | |
45 | + #include"lapacke.h" | |
44 | 46 | #endif |
45 | 47 | |
46 | 48 | #ifdef __INTEL_COMPILER |
@@ -160,6 +162,10 @@ molds_lapack_int Lapack::Dsyevd(double** matrix, double* eigenValues, molds_lapa | ||
160 | 162 | // call Lapack |
161 | 163 | #ifdef __INTEL_COMPILER |
162 | 164 | dsyevd(&job, &uplo, &size, convertedMatrix, &lda, tempEigenValues, work, &lwork, iwork, &liwork, &info); |
165 | +#elif defined __FCC_VERSION | |
166 | + molds_lapack_int jobLen=1; | |
167 | + molds_lapack_int uploLen=1; | |
168 | + dsyevd_(&job, &uplo, &size, convertedMatrix, &lda, tempEigenValues, work, &lwork, iwork, &liwork, &info, jobLen, uploLen); | |
163 | 169 | #else |
164 | 170 | info = LAPACKE_dsyevd_work(LAPACK_COL_MAJOR, job, uplo, size, convertedMatrix, lda, tempEigenValues, work, lwork, iwork, liwork); |
165 | 171 | #endif |
@@ -215,6 +221,9 @@ molds_lapack_int Lapack::Dsysv(double const* const* matrix, double* b, molds_lap | ||
215 | 221 | molds_lapack_int info = 0; |
216 | 222 | molds_lapack_int lwork; |
217 | 223 | char uplo = 'U'; |
224 | +#ifdef __FCC_VERSION | |
225 | + molds_lapack_int uploLen=1; | |
226 | +#endif | |
218 | 227 | molds_lapack_int lda = size; |
219 | 228 | molds_lapack_int ldb = size; |
220 | 229 | molds_lapack_int nrhs = 1; |
@@ -251,6 +260,8 @@ molds_lapack_int Lapack::Dsysv(double const* const* matrix, double* b, molds_lap | ||
251 | 260 | double tempWork[3]={0.0, 0.0, 0.0}; |
252 | 261 | #ifdef __INTEL_COMPILER |
253 | 262 | dsysv(&uplo, &size, &nrhs, convertedMatrix, &lda, ipiv, tempB, &ldb, tempWork, &lwork, &info); |
263 | +#elif defined __FCC_VERSION | |
264 | + dsysv_(&uplo, &size, &nrhs, convertedMatrix, &lda, ipiv, tempB, &ldb, tempWork, &lwork, &info, uploLen); | |
254 | 265 | #else |
255 | 266 | info = LAPACKE_dsysv_work(LAPACK_COL_MAJOR, uplo, size, nrhs, convertedMatrix, lda, ipiv, tempB, ldb, tempWork, lwork); |
256 | 267 | #endif |
@@ -263,6 +274,8 @@ molds_lapack_int Lapack::Dsysv(double const* const* matrix, double* b, molds_lap | ||
263 | 274 | // call Lapack |
264 | 275 | #ifdef __INTEL_COMPILER |
265 | 276 | dsysv(&uplo, &size, &nrhs, convertedMatrix, &lda, ipiv, tempB, &ldb, work, &lwork, &info); |
277 | +#elif defined __FCC_VERSION | |
278 | + dsysv_(&uplo, &size, &nrhs, convertedMatrix, &lda, ipiv, tempB, &ldb, work, &lwork, &info, uploLen); | |
266 | 279 | #else |
267 | 280 | info = LAPACKE_dsysv_work(LAPACK_COL_MAJOR, uplo, size, nrhs, convertedMatrix, lda, ipiv, tempB, ldb, work, lwork); |
268 | 281 | #endif |
@@ -328,6 +341,9 @@ molds_lapack_int Lapack::Dgetrs(double const* const* matrix, double** b, molds_l | ||
328 | 341 | this->Dgetrf(convertedMatrix, ipiv, size, size); |
329 | 342 | #ifdef __INTEL_COMPILER |
330 | 343 | dgetrs(&trans, &size, &nrhs, convertedMatrix, &lda, ipiv, convertedB, &ldb, &info); |
344 | +#elif defined __FCC_VERSION | |
345 | + molds_lapack_int transLen=1; | |
346 | + dgetrs_(&trans, &size, &nrhs, convertedMatrix, &lda, ipiv, convertedB, &ldb, &info, transLen); | |
331 | 347 | #else |
332 | 348 | info = LAPACKE_dgetrs_work(LAPACK_COL_MAJOR, trans, size, nrhs, convertedMatrix, lda, ipiv, convertedB, ldb); |
333 | 349 | #endif |
@@ -395,6 +411,8 @@ molds_lapack_int Lapack::Dgetrf(double* matrix, molds_lapack_int* ipiv, molds_la | ||
395 | 411 | molds_lapack_int lda = sizeM; |
396 | 412 | #ifdef __INTEL_COMPILER |
397 | 413 | dgetrf(&sizeM, &sizeN, matrix, &lda, ipiv, &info); |
414 | +#elif defined __FCC_VERSION | |
415 | + dgetrf_(&sizeM, &sizeN, matrix, &lda, ipiv, &info); | |
398 | 416 | #else |
399 | 417 | info = LAPACKE_dgetrf_work(LAPACK_COL_MAJOR, sizeM, sizeN, matrix, lda, ipiv); |
400 | 418 | #endif |
@@ -20,7 +20,11 @@ | ||
20 | 20 | #define INCLUDED_LAPACK |
21 | 21 | namespace MolDS_wrappers{ |
22 | 22 | //typedef intptr_t molds_lapack_int; |
23 | +#ifdef __FCC_VERSION | |
24 | +typedef int molds_lapack_int; | |
25 | +#else | |
23 | 26 | typedef intptr_t molds_lapack_int; |
27 | +#endif | |
24 | 28 | // Lapacke is singleton |
25 | 29 | class Lapack: public MolDS_base::PrintController, private MolDS_base::Uncopyable{ |
26 | 30 | public: |
@@ -3289,10 +3289,24 @@ void ZindoS::CalcAuxiliaryVector(double* y, | ||
3289 | 3289 | &(q[nonRedundantQIndeces.size()]), |
3290 | 3290 | y); |
3291 | 3291 | stringstream ompErrors; |
3292 | -#pragma omp parallel | |
3293 | -#pragma omp single nowait | |
3292 | +#ifdef __FCC_VERSION | |
3293 | + #pragma omp parallel for schedule(auto) | |
3294 | 3294 | for(int i=0; i<nonRedundantQIndeces.size(); i++){ |
3295 | -#pragma omp task | |
3295 | + try{ | |
3296 | + int moI = nonRedundantQIndeces[i].moI; | |
3297 | + int moJ = nonRedundantQIndeces[i].moJ; | |
3298 | + y[i] += q[i]/this->GetNNRElement(moI, moJ, moI, moJ); | |
3299 | + } | |
3300 | + catch(MolDSException ex){ | |
3301 | + #pragma omp critical | |
3302 | + ex.Serialize(ompErrors); | |
3303 | + } | |
3304 | + } | |
3305 | +#else | |
3306 | + #pragma omp parallel | |
3307 | + #pragma omp single nowait | |
3308 | + for(int i=0; i<nonRedundantQIndeces.size(); i++){ | |
3309 | + #pragma omp task | |
3296 | 3310 | { |
3297 | 3311 | try{ |
3298 | 3312 | int moI = nonRedundantQIndeces[i].moI; |
@@ -3300,11 +3314,12 @@ void ZindoS::CalcAuxiliaryVector(double* y, | ||
3300 | 3314 | y[i] += q[i]/this->GetNNRElement(moI, moJ, moI, moJ); |
3301 | 3315 | } |
3302 | 3316 | catch(MolDSException ex){ |
3303 | -#pragma omp critical | |
3317 | + #pragma omp critical | |
3304 | 3318 | ex.Serialize(ompErrors); |
3305 | 3319 | } |
3306 | 3320 | } |
3307 | 3321 | } |
3322 | +#endif | |
3308 | 3323 | // Exception throwing for omp-region |
3309 | 3324 | if(!ompErrors.str().empty()){ |
3310 | 3325 | throw MolDSException::Deserialize(ompErrors); |
@@ -0,0 +1,1233 @@ | ||
1 | +#!/usr/bin/env ruby | |
2 | +#//************************************************************************// | |
3 | +#// Copyright (C) 2011-2012 Mikiya Fujii // | |
4 | +#// Copyright (C) 2012-2013 Katsuhiko Nishimra // | |
5 | +#// // | |
6 | +#// This file is part of MolDS. // | |
7 | +#// // | |
8 | +#// MolDS is free software: you can redistribute it and/or modify // | |
9 | +#// it under the terms of the GNU General Public License as published by // | |
10 | +#// the Free Software Foundation, either version 3 of the License, or // | |
11 | +#// (at your option) any later version. // | |
12 | +#// // | |
13 | +#// MolDS is distributed in the hope that it will be useful, // | |
14 | +#// but WITHOUT ANY WARRANTY; without even the implied warranty of // | |
15 | +#// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // | |
16 | +#// GNU General Public License for more details. // | |
17 | +#// // | |
18 | +#// You should have received a copy of the GNU General Public License // | |
19 | +#// along with MolDS. If not, see <http://www.gnu.org/licenses/>. // | |
20 | +#//************************************************************************// | |
21 | + | |
22 | +Dir.chdir(File.dirname(__FILE__)) | |
23 | + | |
24 | +MolDSBin = "../src/MolDS.out".freeze | |
25 | + | |
26 | +module AllInclude | |
27 | + def include? *arg | |
28 | + true | |
29 | + end | |
30 | +end | |
31 | + | |
32 | +if ARGV.empty? | |
33 | + Tests = Object.new.extend(AllInclude) | |
34 | +else | |
35 | + Tests = ARGV.collect do |s| | |
36 | + File.basename(s, '.*') | |
37 | + end.freeze | |
38 | +end | |
39 | + | |
40 | +class Tester | |
41 | + @@surfixDat = ".dat" | |
42 | + @@surfixInp = ".in" | |
43 | + @@tempFile = "temp.dat" | |
44 | + @@moldsBin = MolDSBin | |
45 | + @@command = "command: " | |
46 | + @@mpiCommand = "mpiexec -n " | |
47 | + @@mpiProcesses = "1" | |
48 | + @@deleteDiff = " | gawk '{if(($2!=\"SCF\")&&($3!=\"iter\")){print $0}}' | gawk '{if(($4!=\"time:\")){print $0}}' | gawk '{if(($3!=\"Elapsed\")){print $0}}' | gawk '{if(($2!=\"Elapsed\")){print $0}}' | gawk '{if(($3!=\"Welcome\")){print $0}}' | gawk '{if(($7!=\"residual\")){print $0}}' | gawk '{if(($3!=\"mode(nmw):\") ){print $0}}' | gawk '{if( !(($3==\"mode(mw):\")&&($4<6)) ){print $0}}'" | |
49 | + @@printed_section = [] | |
50 | + def doesTestOmp(mklNumThreads, ompNumThreads) | |
51 | + return unless should_run? | |
52 | + ENV["MKL_NUM_THREADS"] = mklNumThreads | |
53 | + ENV["OMP_NUM_THREADS"] = ompNumThreads | |
54 | + puts <<EOS % [1,ENV["MKL_NUM_THREADS"],ENV["OMP_NUM_THREADS"]] | |
55 | +MPI processes: %s | |
56 | +MKL_NUM_THREADS:%s | |
57 | +OMP_NUM_THREADS:%s | |
58 | +EOS | |
59 | + puts @@command + @moldsCommand | |
60 | + system(@moldsCommand) | |
61 | + puts @@command + @diffCommand + @@deleteDiff | |
62 | + system(@diffCommand + @@deleteDiff) | |
63 | + puts '','','' | |
64 | + end | |
65 | + def doesTestMpi(mklNumThreads, ompNumThreads) | |
66 | + return unless should_run? | |
67 | + ENV["MKL_NUM_THREADS"] = mklNumThreads | |
68 | + ENV["OMP_NUM_THREADS"] = ompNumThreads | |
69 | + puts <<EOS % [@@mpiProcesses,ENV["MKL_NUM_THREADS"],ENV["OMP_NUM_THREADS"]] | |
70 | +MPI processes: %s | |
71 | +MKL_NUM_THREADS:%s | |
72 | +OMP_NUM_THREADS:%s | |
73 | +EOS | |
74 | + puts @@command + @moldsCommandMPI | |
75 | + system(@moldsCommandMPI) | |
76 | + puts @@command + @diffCommand + @@deleteDiff | |
77 | + system(@diffCommand + @@deleteDiff) | |
78 | + puts '','','' | |
79 | + end | |
80 | + #def initialize(prefix, section=nil, title) | |
81 | + #Old ruby workaround. | |
82 | + #Old versioned ruby accept default values for only last arguments. | |
83 | + def initialize(prefix, section, title=nil) | |
84 | + #So swap arguments if section is ommitted. | |
85 | + if title.nil? | |
86 | + section,title = title,section | |
87 | + end | |
88 | + @prefix = prefix | |
89 | + @inputFile = prefix + @@surfixInp | |
90 | + @outputFile = prefix + @@surfixDat | |
91 | + @moldsCommand = @@moldsBin + " < " + @inputFile + " > " + @@tempFile | |
92 | + @moldsCommandMPI = @@mpiCommand + @@mpiProcesses + " " + @@moldsBin + " " + @inputFile + " > " + @@tempFile | |
93 | + @diffCommand = "diff " + @outputFile + " " + @@tempFile | |
94 | + @title = title | |
95 | + # Update section title if given, otherwise reuse previous one. | |
96 | + @@section = section unless section.nil? | |
97 | + print_title | |
98 | + end | |
99 | + | |
100 | + private | |
101 | + def should_run? | |
102 | + @should ||= Tests.include?(@prefix) | |
103 | + end | |
104 | + | |
105 | + def print_title | |
106 | + return unless should_run? | |
107 | + unless @@printed_section.include?(@@section) | |
108 | + @@printed_section << @@section | |
109 | + puts @@section,'' | |
110 | + end | |
111 | + puts @title, '' | |
112 | + end | |
113 | +end | |
114 | + | |
115 | +puts <<EOS | |
116 | + | |
117 | +***************************************** | |
118 | +*** *** | |
119 | +*** *** | |
120 | +*** Start Test for MolDS *** | |
121 | +*** *** | |
122 | +*** Powered by Ruby *** | |
123 | +***************************************** | |
124 | +EOS | |
125 | + | |
126 | +puts 'MD5 sum of the MolDS.out to be tested:' | |
127 | +system "md5sum #{MolDSBin}" | |
128 | +puts '','' | |
129 | + | |
130 | +prefix = "FNC1_principal" | |
131 | +tester = Tester.new(prefix, <<"SECTION",<<"TITLE") | |
132 | +--------------------------------------------------- | |
133 | +----------- Test of principal axes -------------- | |
134 | +--------------------------------------------------- | |
135 | +SECTION | |
136 | +\t\t\t>>> F8BT <<< | |
137 | +TITLE | |
138 | +mklNumThreads = "1" | |
139 | +ompNumThreads = "1" | |
140 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
141 | + | |
142 | +prefix = "FNC1_rot120" | |
143 | +tester = Tester.new(prefix, <<"SECTION",<<"TITLE") | |
144 | +--------------------------------------------------- | |
145 | +----------- Test of rotate ---------------------- | |
146 | +--------------------------------------------------- | |
147 | +SECTION | |
148 | +\t\t\t>>> F8BT <<< | |
149 | +TITLE | |
150 | +mklNumThreads = "1" | |
151 | +ompNumThreads = "1" | |
152 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
153 | + | |
154 | +prefix = "FNC1_translate" | |
155 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
156 | +--------------------------------------------------- | |
157 | +----------- Test of translate ------------------- | |
158 | +--------------------------------------------------- | |
159 | +SECTION | |
160 | +\t\t\t>>> F8BT <<< | |
161 | +TITLE | |
162 | +mklNumThreads = "1" | |
163 | +ompNumThreads = "1" | |
164 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
165 | + | |
166 | +prefix = "ch4_cndo2" | |
167 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
168 | +------------------------------------------- | |
169 | +---------- Test of CNDO2/HF --------- | |
170 | +------------------------------------------- | |
171 | +SECTION | |
172 | +\t\t\t>>> CH4 <<< | |
173 | +TITLE | |
174 | +mklNumThreads = "1" | |
175 | +ompNumThreads = "1" | |
176 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
177 | +mklNumThreads = "2" | |
178 | +ompNumThreads = "2" | |
179 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
180 | +mklNumThreads = "4" | |
181 | +ompNumThreads = "2" | |
182 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
183 | + | |
184 | +prefix = "c2h6_cndo2" | |
185 | +tester = Tester.new(prefix, <<"TITLE") | |
186 | +\t\t\t>>> C2H6 <<< | |
187 | +TITLE | |
188 | +mklNumThreads = "1" | |
189 | +ompNumThreads = "1" | |
190 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
191 | +mklNumThreads = "2" | |
192 | +ompNumThreads = "2" | |
193 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
194 | +mklNumThreads = "4" | |
195 | +ompNumThreads = "2" | |
196 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
197 | + | |
198 | +prefix = "h2s_cndo2" | |
199 | +tester = Tester.new(prefix, <<"TITLE") | |
200 | +\t\t\t>>> H2S <<< | |
201 | +TITLE | |
202 | +mklNumThreads = "1" | |
203 | +ompNumThreads = "1" | |
204 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
205 | +mklNumThreads = "2" | |
206 | +ompNumThreads = "2" | |
207 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
208 | +mklNumThreads = "4" | |
209 | +ompNumThreads = "2" | |
210 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
211 | + | |
212 | +prefix = "ch4_indo" | |
213 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
214 | +------------------------------------------- | |
215 | +---------- Test of INDO/HF ----------- | |
216 | +------------------------------------------- | |
217 | +SECTION | |
218 | +\t\t\t>>> CH4 <<< | |
219 | +TITLE | |
220 | +mklNumThreads = "1" | |
221 | +ompNumThreads = "1" | |
222 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
223 | +mklNumThreads = "2" | |
224 | +ompNumThreads = "2" | |
225 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
226 | +mklNumThreads = "4" | |
227 | +ompNumThreads = "2" | |
228 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
229 | + | |
230 | +prefix = "c2h6_indo" | |
231 | +tester = Tester.new(prefix, <<"TITLE") | |
232 | +\t\t\t>>> C2H6 <<< | |
233 | +TITLE | |
234 | +mklNumThreads = "1" | |
235 | +ompNumThreads = "1" | |
236 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
237 | +mklNumThreads = "2" | |
238 | +ompNumThreads = "2" | |
239 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
240 | +mklNumThreads = "4" | |
241 | +ompNumThreads = "2" | |
242 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
243 | + | |
244 | +prefix = "ch4_zindos_directCIS_singlet" | |
245 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
246 | +--------------------------------------------------- | |
247 | +---------- Test of ZINDO/CIS-singlet --------- | |
248 | +---------- Without Davidson for the CIS --------- | |
249 | +--------------------------------------------------- | |
250 | +SECTION | |
251 | +\t\t\t>>> CH4 <<< | |
252 | +TITLE | |
253 | +mklNumThreads = "1" | |
254 | +ompNumThreads = "1" | |
255 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
256 | +mklNumThreads = "2" | |
257 | +ompNumThreads = "2" | |
258 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
259 | +mklNumThreads = "4" | |
260 | +ompNumThreads = "2" | |
261 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
262 | + | |
263 | +prefix = "c2h6_zindos_directCIS_singlet" | |
264 | +tester = Tester.new(prefix, <<"TITLE") | |
265 | +\t\t\t>>> C2H6 <<< | |
266 | +TITLE | |
267 | +mklNumThreads = "1" | |
268 | +ompNumThreads = "1" | |
269 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
270 | +mklNumThreads = "2" | |
271 | +ompNumThreads = "2" | |
272 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
273 | +mklNumThreads = "4" | |
274 | +ompNumThreads = "2" | |
275 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
276 | + | |
277 | +prefix = "h2s_zindos_directCIS_singlet" | |
278 | +tester = Tester.new(prefix, <<"TITLE") | |
279 | +\t\t\t>>> H2S <<< | |
280 | +TITLE | |
281 | +mklNumThreads = "1" | |
282 | +ompNumThreads = "1" | |
283 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
284 | +mklNumThreads = "2" | |
285 | +ompNumThreads = "2" | |
286 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
287 | +mklNumThreads = "4" | |
288 | +ompNumThreads = "2" | |
289 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
290 | + | |
291 | +prefix = "h2o_zindos_directCIS_singlet" | |
292 | +tester = Tester.new(prefix, <<"TITLE") | |
293 | +\t\t\t>>> H2O <<< | |
294 | +TITLE | |
295 | +mklNumThreads = "1" | |
296 | +ompNumThreads = "1" | |
297 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
298 | +mklNumThreads = "2" | |
299 | +ompNumThreads = "2" | |
300 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
301 | +mklNumThreads = "4" | |
302 | +ompNumThreads = "2" | |
303 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
304 | + | |
305 | +prefix = "ch4_zindos_davidsonCIS_singlet" | |
306 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
307 | +------------------------------------------------ | |
308 | +---------- Test of ZINDO/CIS-singlet --------- | |
309 | +---------- With Davidson for the CIS --------- | |
310 | +------------------------------------------------ | |
311 | +SECTION | |
312 | +\t\t\t>>> CH4 <<< | |
313 | +TITLE | |
314 | +mklNumThreads = "1" | |
315 | +ompNumThreads = "1" | |
316 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
317 | +mklNumThreads = "2" | |
318 | +ompNumThreads = "2" | |
319 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
320 | +mklNumThreads = "4" | |
321 | +ompNumThreads = "2" | |
322 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
323 | + | |
324 | +prefix = "c2h6_zindos_davidsonCIS_singlet" | |
325 | +tester = Tester.new(prefix, <<"TITLE") | |
326 | +\t\t\t>>> C2H6 <<< | |
327 | +TITLE | |
328 | +mklNumThreads = "1" | |
329 | +ompNumThreads = "1" | |
330 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
331 | +mklNumThreads = "2" | |
332 | +ompNumThreads = "2" | |
333 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
334 | +mklNumThreads = "4" | |
335 | +ompNumThreads = "2" | |
336 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
337 | + | |
338 | +prefix = "h2s_zindos_davidsonCIS_singlet" | |
339 | +tester = Tester.new(prefix, <<"TITLE") | |
340 | +\t\t\t>>> H2S <<< | |
341 | +TITLE | |
342 | +mklNumThreads = "1" | |
343 | +ompNumThreads = "1" | |
344 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
345 | +mklNumThreads = "2" | |
346 | +ompNumThreads = "2" | |
347 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
348 | +mklNumThreads = "4" | |
349 | +ompNumThreads = "2" | |
350 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
351 | + | |
352 | +prefix = "c2h6_zindos_force" | |
353 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
354 | +------------------------------------------------ | |
355 | +---------- Test of ZINDO/HF-Force ------------ | |
356 | +------------------------------------------------ | |
357 | +SECTION | |
358 | +\t\t\t>>> C2H6 <<< | |
359 | +TITLE | |
360 | +mklNumThreads = "1" | |
361 | +ompNumThreads = "1" | |
362 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
363 | +mklNumThreads = "2" | |
364 | +ompNumThreads = "2" | |
365 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
366 | +mklNumThreads = "4" | |
367 | +ompNumThreads = "2" | |
368 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
369 | + | |
370 | +prefix = "c2h6_zindos_directCIS_singlet_force" | |
371 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
372 | +--------------------------------------------------- | |
373 | +---------- Test of ZINDO/CIS-singlet-force -------- | |
374 | +---------- Without Davidson for the CIS -------- | |
375 | +--------------------------------------------------- | |
376 | +SECTION | |
377 | +\t\t\t>>> C2H6 <<< | |
378 | +TITLE | |
379 | +mklNumThreads = "1" | |
380 | +ompNumThreads = "1" | |
381 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
382 | +mklNumThreads = "2" | |
383 | +ompNumThreads = "2" | |
384 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
385 | +mklNumThreads = "4" | |
386 | +ompNumThreads = "2" | |
387 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
388 | + | |
389 | +prefix = "ch4_mndo" | |
390 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
391 | +------------------------------------------- | |
392 | +---------- Test of MNDO/HF ---------- | |
393 | +------------------------------------------- | |
394 | +SECTION | |
395 | +\t\t\t>>> CH4 <<< | |
396 | +TITLE | |
397 | +mklNumThreads = "1" | |
398 | +ompNumThreads = "1" | |
399 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
400 | +mklNumThreads = "2" | |
401 | +ompNumThreads = "2" | |
402 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
403 | +mklNumThreads = "4" | |
404 | +ompNumThreads = "2" | |
405 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
406 | + | |
407 | +prefix = "c2h6_mndo" | |
408 | +tester = Tester.new(prefix, <<"TITLE") | |
409 | +\t\t\t>>> C2H6 <<< | |
410 | +TITLE | |
411 | +mklNumThreads = "1" | |
412 | +ompNumThreads = "1" | |
413 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
414 | +mklNumThreads = "2" | |
415 | +ompNumThreads = "2" | |
416 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
417 | +mklNumThreads = "4" | |
418 | +ompNumThreads = "2" | |
419 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
420 | + | |
421 | +prefix = "ch4_mndo_directCIS_singlet" | |
422 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
423 | +--------------------------------------------------- | |
424 | +---------- Test of MNDO/CIS-singlet --------- | |
425 | +---------- Without Davidson for the CIS --------- | |
426 | +--------------------------------------------------- | |
427 | +SECTION | |
428 | +\t\t\t>>> CH4 <<< | |
429 | +TITLE | |
430 | +mklNumThreads = "1" | |
431 | +ompNumThreads = "1" | |
432 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
433 | +mklNumThreads = "2" | |
434 | +ompNumThreads = "2" | |
435 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
436 | +mklNumThreads = "4" | |
437 | +ompNumThreads = "2" | |
438 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
439 | + | |
440 | +prefix = "c2h6_mndo_directCIS_singlet" | |
441 | +tester = Tester.new(prefix, <<"TITLE") | |
442 | +\t\t\t>>> C2H6 <<< | |
443 | +TITLE | |
444 | +mklNumThreads = "1" | |
445 | +ompNumThreads = "1" | |
446 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
447 | +mklNumThreads = "2" | |
448 | +ompNumThreads = "2" | |
449 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
450 | +mklNumThreads = "4" | |
451 | +ompNumThreads = "2" | |
452 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
453 | + | |
454 | +prefix = "ch4_mndo_davidsonCIS_singlet" | |
455 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
456 | +--------------------------------------------------- | |
457 | +---------- Test of MNDO/CIS-singlet --------- | |
458 | +---------- With Davidson for the CIS --------- | |
459 | +--------------------------------------------------- | |
460 | +SECTION | |
461 | +\t\t\t>>> CH4 <<< | |
462 | +TITLE | |
463 | +mklNumThreads = "1" | |
464 | +ompNumThreads = "1" | |
465 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
466 | +mklNumThreads = "2" | |
467 | +ompNumThreads = "2" | |
468 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
469 | +mklNumThreads = "4" | |
470 | +ompNumThreads = "2" | |
471 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
472 | + | |
473 | +prefix = "c2h6_mndo_davidsonCIS_singlet" | |
474 | +tester = Tester.new(prefix, <<"TITLE") | |
475 | +\t\t\t>>> C2H6 <<< | |
476 | +TITLE | |
477 | +mklNumThreads = "1" | |
478 | +ompNumThreads = "1" | |
479 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
480 | +mklNumThreads = "2" | |
481 | +ompNumThreads = "2" | |
482 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
483 | +mklNumThreads = "4" | |
484 | +ompNumThreads = "2" | |
485 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
486 | + | |
487 | +prefix = "c2h6_mndo_force" | |
488 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
489 | +------------------------------------------------ | |
490 | +---------- Test of MNDO/HF-Force ------------ | |
491 | +------------------------------------------------ | |
492 | +SECTION | |
493 | +\t\t\t>>> C2H6 <<< | |
494 | +TITLE | |
495 | +mklNumThreads = "1" | |
496 | +ompNumThreads = "1" | |
497 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
498 | +mklNumThreads = "2" | |
499 | +ompNumThreads = "2" | |
500 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
501 | +mklNumThreads = "4" | |
502 | +ompNumThreads = "2" | |
503 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
504 | + | |
505 | +prefix = "c2h6_mndo_directCIS_singlet_force" | |
506 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
507 | +--------------------------------------------------- | |
508 | +---------- Test of MNDO/CIS-singlet-force -------- | |
509 | +---------- Without Davidson for the CIS -------- | |
510 | +--------------------------------------------------- | |
511 | +SECTION | |
512 | +\t\t\t>>> C2H6 <<< | |
513 | +TITLE | |
514 | +mklNumThreads = "1" | |
515 | +ompNumThreads = "1" | |
516 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
517 | +mklNumThreads = "2" | |
518 | +ompNumThreads = "2" | |
519 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
520 | +mklNumThreads = "4" | |
521 | +ompNumThreads = "2" | |
522 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
523 | + | |
524 | +prefix = "c2h6_mndo_davidsonCIS_singlet_force" | |
525 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
526 | +--------------------------------------------------- | |
527 | +---------- Test of MNDO/CIS-singlet-force -------- | |
528 | +---------- With Davidson for the CIS -------- | |
529 | +--------------------------------------------------- | |
530 | +SECTION | |
531 | +\t\t\t>>> C2H6 <<< | |
532 | +TITLE | |
533 | +mklNumThreads = "1" | |
534 | +ompNumThreads = "1" | |
535 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
536 | +mklNumThreads = "2" | |
537 | +ompNumThreads = "2" | |
538 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
539 | +mklNumThreads = "4" | |
540 | +ompNumThreads = "2" | |
541 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
542 | + | |
543 | +prefix = "ch4_am1" | |
544 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
545 | +------------------------------------------- | |
546 | +---------- Test of AM1/HF ------------ | |
547 | +------------------------------------------- | |
548 | +SECTION | |
549 | +\t\t\t>>> CH4 <<< | |
550 | +TITLE | |
551 | +mklNumThreads = "1" | |
552 | +ompNumThreads = "1" | |
553 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
554 | +mklNumThreads = "2" | |
555 | +ompNumThreads = "2" | |
556 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
557 | +mklNumThreads = "4" | |
558 | +ompNumThreads = "2" | |
559 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
560 | + | |
561 | +prefix = "c2h6_am1" | |
562 | +tester = Tester.new(prefix, <<"TITLE") | |
563 | +\t\t\t>>> C2H6 <<< | |
564 | +TITLE | |
565 | +mklNumThreads = "1" | |
566 | +ompNumThreads = "1" | |
567 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
568 | +mklNumThreads = "2" | |
569 | +ompNumThreads = "2" | |
570 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
571 | +mklNumThreads = "4" | |
572 | +ompNumThreads = "2" | |
573 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
574 | + | |
575 | +prefix = "ch4_am1_directCIS_singlet" | |
576 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
577 | +--------------------------------------------------- | |
578 | +---------- Test of AM1/CIS-singlet --------- | |
579 | +---------- Without Davidson for the CIS --------- | |
580 | +--------------------------------------------------- | |
581 | +SECTION | |
582 | +\t\t\t>>> CH4 <<< | |
583 | +TITLE | |
584 | +mklNumThreads = "1" | |
585 | +ompNumThreads = "1" | |
586 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
587 | +mklNumThreads = "2" | |
588 | +ompNumThreads = "2" | |
589 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
590 | +mklNumThreads = "4" | |
591 | +ompNumThreads = "2" | |
592 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
593 | + | |
594 | +prefix = "c2h6_am1_directCIS_singlet" | |
595 | +tester = Tester.new(prefix, <<"TITLE") | |
596 | +\t\t\t>>> C2H6 <<<\n | |
597 | +TITLE | |
598 | +mklNumThreads = "1" | |
599 | +ompNumThreads = "1" | |
600 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
601 | +mklNumThreads = "2" | |
602 | +ompNumThreads = "2" | |
603 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
604 | +mklNumThreads = "4" | |
605 | +ompNumThreads = "2" | |
606 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
607 | + | |
608 | +prefix = "ch4_am1_davidsonCIS_singlet" | |
609 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
610 | +--------------------------------------------------- | |
611 | +---------- Test of AM1/CIS-singlet --------- | |
612 | +---------- With Davidson for the CIS --------- | |
613 | +--------------------------------------------------- | |
614 | +SECTION | |
615 | +\t\t\t>>> CH4 <<< | |
616 | +TITLE | |
617 | +mklNumThreads = "1" | |
618 | +ompNumThreads = "1" | |
619 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
620 | +mklNumThreads = "2" | |
621 | +ompNumThreads = "2" | |
622 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
623 | +mklNumThreads = "4" | |
624 | +ompNumThreads = "2" | |
625 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
626 | + | |
627 | +prefix = "c2h6_am1_davidsonCIS_singlet" | |
628 | +tester = Tester.new(prefix, <<"TITLE") | |
629 | +\t\t\t>>> C2H6 <<< | |
630 | +TITLE | |
631 | +mklNumThreads = "1" | |
632 | +ompNumThreads = "1" | |
633 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
634 | +mklNumThreads = "2" | |
635 | +ompNumThreads = "2" | |
636 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
637 | +mklNumThreads = "4" | |
638 | +ompNumThreads = "2" | |
639 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
640 | + | |
641 | +prefix = "c2h6_am1_force" | |
642 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
643 | +------------------------------------------------ | |
644 | +---------- Test of AM1/HF-Force ------------ | |
645 | +------------------------------------------------ | |
646 | +SECTION | |
647 | +\t\t\t>>> C2H6 <<< | |
648 | +TITLE | |
649 | +mklNumThreads = "1" | |
650 | +ompNumThreads = "1" | |
651 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
652 | +mklNumThreads = "2" | |
653 | +ompNumThreads = "2" | |
654 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
655 | +mklNumThreads = "4" | |
656 | +ompNumThreads = "2" | |
657 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
658 | + | |
659 | +prefix = "c2h6_am1_directCIS_singlet_force" | |
660 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
661 | +--------------------------------------------------- | |
662 | +---------- Test of AM1/CIS-singlet-force -------- | |
663 | +---------- Without Davidson for the CIS -------- | |
664 | +--------------------------------------------------- | |
665 | +SECTION | |
666 | +\t\t\t>>> C2H6 <<< | |
667 | +TITLE | |
668 | +mklNumThreads = "1" | |
669 | +ompNumThreads = "1" | |
670 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
671 | +mklNumThreads = "2" | |
672 | +ompNumThreads = "2" | |
673 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
674 | +mklNumThreads = "4" | |
675 | +ompNumThreads = "2" | |
676 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
677 | + | |
678 | +prefix = "c2h6_am1_davidsonCIS_singlet_force" | |
679 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
680 | +--------------------------------------------------- | |
681 | +---------- Test of AM1/CIS-singlet-force -------- | |
682 | +---------- With Davidson for the CIS -------- | |
683 | +--------------------------------------------------- | |
684 | +SECTION | |
685 | +\t\t\t>>> C2H6 <<< | |
686 | +TITLE | |
687 | +mklNumThreads = "1" | |
688 | +ompNumThreads = "1" | |
689 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
690 | +mklNumThreads = "2" | |
691 | +ompNumThreads = "2" | |
692 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
693 | +mklNumThreads = "4" | |
694 | +ompNumThreads = "2" | |
695 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
696 | + | |
697 | +prefix = "ch4_pm3" | |
698 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
699 | +------------------------------------------- | |
700 | +---------- Test of PM3/HF ------------ | |
701 | +------------------------------------------- | |
702 | +SECTION | |
703 | +\t\t\t>>> CH4 <<< | |
704 | +TITLE | |
705 | +mklNumThreads = "1" | |
706 | +ompNumThreads = "1" | |
707 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
708 | +mklNumThreads = "2" | |
709 | +ompNumThreads = "2" | |
710 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
711 | +mklNumThreads = "4" | |
712 | +ompNumThreads = "2" | |
713 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
714 | + | |
715 | +prefix = "c2h6_pm3" | |
716 | +tester = Tester.new(prefix, <<"TITLE") | |
717 | +\t\t\t>>> C2H6 <<< | |
718 | +TITLE | |
719 | +mklNumThreads = "1" | |
720 | +ompNumThreads = "1" | |
721 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
722 | +mklNumThreads = "2" | |
723 | +ompNumThreads = "2" | |
724 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
725 | +mklNumThreads = "4" | |
726 | +ompNumThreads = "2" | |
727 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
728 | + | |
729 | +prefix = "ch4_pm3_directCIS_singlet" | |
730 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
731 | +--------------------------------------------------- | |
732 | +---------- Test of PM3/CIS-singlet --------- | |
733 | +---------- Without Davidson for the CIS --------- | |
734 | +--------------------------------------------------- | |
735 | +SECTION | |
736 | +\t\t\t>>> CH4 <<< | |
737 | +TITLE | |
738 | +mklNumThreads = "1" | |
739 | +ompNumThreads = "1" | |
740 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
741 | +mklNumThreads = "2" | |
742 | +ompNumThreads = "2" | |
743 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
744 | +mklNumThreads = "4" | |
745 | +ompNumThreads = "2" | |
746 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
747 | + | |
748 | +prefix = "c2h6_pm3_directCIS_singlet" | |
749 | +tester = Tester.new(prefix, <<"TITLE") | |
750 | +\t\t\t>>> C2H6 <<< | |
751 | +TITLE | |
752 | +mklNumThreads = "1" | |
753 | +ompNumThreads = "1" | |
754 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
755 | +mklNumThreads = "2" | |
756 | +ompNumThreads = "2" | |
757 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
758 | +mklNumThreads = "4" | |
759 | +ompNumThreads = "2" | |
760 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
761 | + | |
762 | +prefix = "ch4_pm3_davidsonCIS_singlet" | |
763 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
764 | +--------------------------------------------------- | |
765 | +---------- Test of PM3/CIS-singlet --------- | |
766 | +---------- With Davidson for the CIS --------- | |
767 | +--------------------------------------------------- | |
768 | +SECTION | |
769 | +\t\t\t>>> CH4 <<< | |
770 | +TITLE | |
771 | +mklNumThreads = "1" | |
772 | +ompNumThreads = "1" | |
773 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
774 | +mklNumThreads = "2" | |
775 | +ompNumThreads = "2" | |
776 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
777 | +mklNumThreads = "4" | |
778 | +ompNumThreads = "2" | |
779 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
780 | + | |
781 | +prefix = "c2h6_pm3_davidsonCIS_singlet" | |
782 | +tester = Tester.new(prefix, <<"TITLE") | |
783 | +\t\t\t>>> C2H6 <<<\n | |
784 | +TITLE | |
785 | +mklNumThreads = "1" | |
786 | +ompNumThreads = "1" | |
787 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
788 | +mklNumThreads = "2" | |
789 | +ompNumThreads = "2" | |
790 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
791 | +mklNumThreads = "4" | |
792 | +ompNumThreads = "2" | |
793 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
794 | + | |
795 | +prefix = "c2h6_pm3_force" | |
796 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
797 | +------------------------------------------------ | |
798 | +---------- Test of PM3/HF-Force -------------- | |
799 | +------------------------------------------------ | |
800 | +SECTION | |
801 | +\t\t\t>>> C2H6 <<< | |
802 | +TITLE | |
803 | +mklNumThreads = "1" | |
804 | +ompNumThreads = "1" | |
805 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
806 | +mklNumThreads = "2" | |
807 | +ompNumThreads = "2" | |
808 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
809 | +mklNumThreads = "4" | |
810 | +ompNumThreads = "2" | |
811 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
812 | + | |
813 | +prefix = "c2h6_pm3_directCIS_singlet_force" | |
814 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
815 | +--------------------------------------------------- | |
816 | +---------- Test of PM3/CIS-singlet-force -------- | |
817 | +---------- Without Davidson for the CIS -------- | |
818 | +--------------------------------------------------- | |
819 | +SECTION | |
820 | +\t\t\t>>> C2H6 <<< | |
821 | +TITLE | |
822 | +mklNumThreads = "1" | |
823 | +ompNumThreads = "1" | |
824 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
825 | +mklNumThreads = "2" | |
826 | +ompNumThreads = "2" | |
827 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
828 | +mklNumThreads = "4" | |
829 | +ompNumThreads = "2" | |
830 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
831 | + | |
832 | +prefix = "c2h6_pm3_davidsonCIS_singlet_force" | |
833 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
834 | +--------------------------------------------------- | |
835 | +---------- Test of PM3/CIS-singlet-force -------- | |
836 | +---------- With Davidson for the CIS -------- | |
837 | +--------------------------------------------------- | |
838 | +SECTION | |
839 | +\t\t\t>>> C2H6 <<< | |
840 | +TITLE | |
841 | +mklNumThreads = "1" | |
842 | +ompNumThreads = "1" | |
843 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
844 | +mklNumThreads = "2" | |
845 | +ompNumThreads = "2" | |
846 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
847 | +mklNumThreads = "4" | |
848 | +ompNumThreads = "2" | |
849 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
850 | + | |
851 | +prefix = "c2h6_pm3pddg" | |
852 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
853 | +------------------------------------------- | |
854 | +---------- Test of PM3/PDDG/HF ------------ | |
855 | +------------------------------------------- | |
856 | +SECTION | |
857 | +\t\t\t>>> C2H6 <<< | |
858 | +TITLE | |
859 | +mklNumThreads = "1" | |
860 | +ompNumThreads = "1" | |
861 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
862 | +mklNumThreads = "2" | |
863 | +ompNumThreads = "2" | |
864 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
865 | +mklNumThreads = "4" | |
866 | +ompNumThreads = "2" | |
867 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
868 | + | |
869 | +prefix = "c2h6_pm3pddg_directCIS_singlet" | |
870 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
871 | +--------------------------------------------------- | |
872 | +---------- Test of PM3/PDDG/CIS-singlet --------- | |
873 | +---------- Without Davidson for the CIS --------- | |
874 | +--------------------------------------------------- | |
875 | +SECTION | |
876 | +\t\t\t>>> C2H6 <<< | |
877 | +TITLE | |
878 | +mklNumThreads = "1" | |
879 | +ompNumThreads = "1" | |
880 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
881 | +mklNumThreads = "2" | |
882 | +ompNumThreads = "2" | |
883 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
884 | +mklNumThreads = "4" | |
885 | +ompNumThreads = "2" | |
886 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
887 | + | |
888 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet" | |
889 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
890 | +--------------------------------------------------- | |
891 | +---------- Test of PM3/PDDG/CIS-singlet --------- | |
892 | +---------- With Davidson for the CIS --------- | |
893 | +--------------------------------------------------- | |
894 | +SECTION | |
895 | +\t\t\t>>> C2H6 <<< | |
896 | +TITLE | |
897 | +mklNumThreads = "1" | |
898 | +ompNumThreads = "1" | |
899 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
900 | +mklNumThreads = "2" | |
901 | +ompNumThreads = "2" | |
902 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
903 | +mklNumThreads = "4" | |
904 | +ompNumThreads = "2" | |
905 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
906 | + | |
907 | +prefix = "c2h6_pm3pddg_force" | |
908 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
909 | +------------------------------------------------ | |
910 | +---------- Test of PM3/PDDG/HF-Force --------- | |
911 | +------------------------------------------------ | |
912 | +SECTION | |
913 | +\t\t\t>>> C2H6 <<< | |
914 | +TITLE | |
915 | +mklNumThreads = "1" | |
916 | +ompNumThreads = "1" | |
917 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
918 | +mklNumThreads = "2" | |
919 | +ompNumThreads = "2" | |
920 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
921 | +mklNumThreads = "4" | |
922 | +ompNumThreads = "2" | |
923 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
924 | + | |
925 | +prefix = "c2h6_pm3pddg_directCIS_singlet_force" | |
926 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
927 | +--------------------------------------------------- | |
928 | +--------- Test of PM3/PDDG/CIS-singlet-force ---- | |
929 | +--------- Without Davidson for the CIS -------- | |
930 | +--------------------------------------------------- | |
931 | +SECTION | |
932 | +\t\t\t>>> C2H6 <<< | |
933 | +TITLE | |
934 | +mklNumThreads = "1" | |
935 | +ompNumThreads = "1" | |
936 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
937 | +mklNumThreads = "2" | |
938 | +ompNumThreads = "2" | |
939 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
940 | +mklNumThreads = "4" | |
941 | +ompNumThreads = "2" | |
942 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
943 | + | |
944 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet_force" | |
945 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
946 | +--------------------------------------------------- | |
947 | +--------- Test of PM3/PDDG/CIS-singlet-force ---- | |
948 | +--------- With Davidson for the CIS -------- | |
949 | +--------------------------------------------------- | |
950 | +SECTION | |
951 | +\t\t\t>>> C2H6 <<< | |
952 | +TITLE | |
953 | +mklNumThreads = "1" | |
954 | +ompNumThreads = "1" | |
955 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
956 | +mklNumThreads = "2" | |
957 | +ompNumThreads = "2" | |
958 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
959 | +mklNumThreads = "4" | |
960 | +ompNumThreads = "2" | |
961 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
962 | + | |
963 | +prefix = "c2h6_pm3pddg_opt_steepest" | |
964 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
965 | +------------------------------------------------ | |
966 | +------ Test of PM3/PDDG/Steepest Descent ------ | |
967 | +------------------------------------------------ | |
968 | +SECTION | |
969 | +\t\t\t>>> C2H6 <<<\n | |
970 | +TITLE | |
971 | +mklNumThreads = "1" | |
972 | +ompNumThreads = "1" | |
973 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
974 | +mklNumThreads = "2" | |
975 | +ompNumThreads = "2" | |
976 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
977 | +mklNumThreads = "4" | |
978 | +ompNumThreads = "2" | |
979 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
980 | + | |
981 | +prefix = "c2h6_pm3pddg_opt_conjugate" | |
982 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
983 | +------------------------------------------------ | |
984 | +---- Test of PM3/PDDG/Conjugate gradient ------ | |
985 | +------------------------------------------------ | |
986 | +SECTION | |
987 | +\t\t\t>>> C2H6 <<< | |
988 | +TITLE | |
989 | +mklNumThreads = "1" | |
990 | +ompNumThreads = "1" | |
991 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
992 | +mklNumThreads = "2" | |
993 | +ompNumThreads = "2" | |
994 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
995 | +mklNumThreads = "4" | |
996 | +ompNumThreads = "2" | |
997 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
998 | + | |
999 | +prefix = "c2h6_pm3pddg_opt_bfgs" | |
1000 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1001 | +------------------------------------------------ | |
1002 | +------ Test of PM3/PDDG/BFGS ------------------ | |
1003 | +------------------------------------------------ | |
1004 | +SECTION | |
1005 | +\t\t\t>>> C2H6 <<< | |
1006 | +TITLE | |
1007 | +mklNumThreads = "1" | |
1008 | +ompNumThreads = "1" | |
1009 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1010 | +mklNumThreads = "2" | |
1011 | +ompNumThreads = "2" | |
1012 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1013 | +mklNumThreads = "4" | |
1014 | +ompNumThreads = "2" | |
1015 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1016 | + | |
1017 | +prefix = "c2h6_pm3pddg_opt_gediis" | |
1018 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1019 | +------------------------------------------------ | |
1020 | +------ Test of PM3/PDDG/GEDIIS ---------------- | |
1021 | +------------------------------------------------ | |
1022 | +SECTION | |
1023 | +\t\t\t>>> C2H6 <<< | |
1024 | +TITLE | |
1025 | +mklNumThreads = "1" | |
1026 | +ompNumThreads = "1" | |
1027 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1028 | +mklNumThreads = "2" | |
1029 | +ompNumThreads = "2" | |
1030 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1031 | + | |
1032 | +prefix = "c2h6_pm3_MC" | |
1033 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1034 | +--------------------------------------------------- | |
1035 | +--------- Test of PM3/HF-MC --------------------- | |
1036 | +--------------------------------------------------- | |
1037 | +SECTION | |
1038 | +\t\t\t>>> C2H6 <<< | |
1039 | +TITLE | |
1040 | +mklNumThreads = "1" | |
1041 | +ompNumThreads = "1" | |
1042 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1043 | +mklNumThreads = "2" | |
1044 | +ompNumThreads = "2" | |
1045 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1046 | +mklNumThreads = "4" | |
1047 | +ompNumThreads = "2" | |
1048 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1049 | + | |
1050 | +prefix = "c2h6_pm3_directCIS_singlet_MC" | |
1051 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1052 | +--------------------------------------------------- | |
1053 | +--------- Test of PM3/CIS-singlet-MC ---------- | |
1054 | +--------- Without Davidson for the CIS ---------- | |
1055 | +--------------------------------------------------- | |
1056 | +SECTION | |
1057 | +\t\t\t>>> C2H6 <<< | |
1058 | +TITLE | |
1059 | +mklNumThreads = "1" | |
1060 | +ompNumThreads = "1" | |
1061 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1062 | +mklNumThreads = "2" | |
1063 | +ompNumThreads = "2" | |
1064 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1065 | +mklNumThreads = "4" | |
1066 | +ompNumThreads = "2" | |
1067 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1068 | + | |
1069 | +prefix = "c2h6_pm3pddg_rpmd" | |
1070 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1071 | +------------------------------------------------ | |
1072 | +---------- Test of PM3/PDDG/RPMD ------------- | |
1073 | +------------------------------------------------ | |
1074 | +SECTION | |
1075 | +\t\t\t>>> C2H6 <<< | |
1076 | +TITLE | |
1077 | +mklNumThreads = "1" | |
1078 | +ompNumThreads = "1" | |
1079 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1080 | +mklNumThreads = "2" | |
1081 | +ompNumThreads = "2" | |
1082 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1083 | +mklNumThreads = "4" | |
1084 | +ompNumThreads = "2" | |
1085 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1086 | + | |
1087 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet_rpmd" | |
1088 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1089 | +--------------------------------------------------- | |
1090 | +--------- Test of PM3/PDDG/CIS/RPMD --------- | |
1091 | +--------- With Davidson for the CIS --------- | |
1092 | +--------------------------------------------------- | |
1093 | +SECTION | |
1094 | +\t\t\t>>> C2H6 <<< | |
1095 | +TITLE | |
1096 | +mklNumThreads = "1" | |
1097 | +ompNumThreads = "1" | |
1098 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1099 | +mklNumThreads = "2" | |
1100 | +ompNumThreads = "2" | |
1101 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1102 | +mklNumThreads = "4" | |
1103 | +ompNumThreads = "2" | |
1104 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1105 | + | |
1106 | +prefix = "c2h6_pm3d" | |
1107 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1108 | +------------------------------------------- | |
1109 | +------------ Test of PM3-D/HF ------------- | |
1110 | +------------------------------------------- | |
1111 | +SECTION | |
1112 | +\t\t\t>>> C2H6 <<< | |
1113 | +TITLE | |
1114 | + | |
1115 | +mklNumThreads = "1" | |
1116 | +ompNumThreads = "1" | |
1117 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1118 | +mklNumThreads = "2" | |
1119 | +ompNumThreads = "2" | |
1120 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1121 | +mklNumThreads = "4" | |
1122 | +ompNumThreads = "2" | |
1123 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1124 | + | |
1125 | +prefix = "c2h6_pm3_vdw" | |
1126 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1127 | +--------------------------------------------------- | |
1128 | +------ Test of vdw correction in PM3/HF --------- | |
1129 | +--------------------------------------------------- | |
1130 | +SECTION | |
1131 | +\t\t\t>>> C2H6 <<< | |
1132 | +TITLE | |
1133 | +mklNumThreads = "1" | |
1134 | +ompNumThreads = "1" | |
1135 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1136 | +mklNumThreads = "2" | |
1137 | +ompNumThreads = "2" | |
1138 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1139 | +mklNumThreads = "4" | |
1140 | +ompNumThreads = "2" | |
1141 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1142 | + | |
1143 | +prefix = "c2h6_pm3_vdw_force" | |
1144 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1145 | +--------------------------------------------------- | |
1146 | +---- Test of vdw correction in PM3/HF-Force ----- | |
1147 | +--------------------------------------------------- | |
1148 | +SECTION | |
1149 | +\t\t\t>>> C2H6 <<< | |
1150 | +TITLE | |
1151 | +mklNumThreads = "1" | |
1152 | +ompNumThreads = "1" | |
1153 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1154 | +mklNumThreads = "2" | |
1155 | +ompNumThreads = "2" | |
1156 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1157 | +mklNumThreads = "4" | |
1158 | +ompNumThreads = "2" | |
1159 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1160 | + | |
1161 | +prefix = "c2h6_pm3_vdw_MC" | |
1162 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1163 | +--------------------------------------------------- | |
1164 | +------ Test of vdw correction in PM3/HF-MC ------ | |
1165 | +--------------------------------------------------- | |
1166 | +SECTION | |
1167 | +\t\t\t>>> C2H6 <<< | |
1168 | +TITLE | |
1169 | +mklNumThreads = "1" | |
1170 | +ompNumThreads = "1" | |
1171 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1172 | +mklNumThreads = "2" | |
1173 | +ompNumThreads = "2" | |
1174 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1175 | +mklNumThreads = "4" | |
1176 | +ompNumThreads = "2" | |
1177 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1178 | + | |
1179 | +prefix = "c2h6-h2o-cluster_pm3pddg_freq" | |
1180 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1181 | +------------------------------------------- | |
1182 | +---- Test of PM3/PDDG/HF/FREQUENCIES --- | |
1183 | +------------------------------------------- | |
1184 | +SECTION | |
1185 | +\t\t\t>>> C2H6 H2O cluster <<< | |
1186 | +TITLE | |
1187 | +mklNumThreads = "1" | |
1188 | +ompNumThreads = "1" | |
1189 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1190 | +mklNumThreads = "2" | |
1191 | +ompNumThreads = "2" | |
1192 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1193 | +mklNumThreads = "4" | |
1194 | +ompNumThreads = "2" | |
1195 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1196 | + | |
1197 | +prefix = "c2h6-nh3-cluster_pm3d_freq" | |
1198 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1199 | +------------------------------------------- | |
1200 | +----- Test of PM3-D/HF/FREQUENCIES ---- | |
1201 | +------------------------------------------- | |
1202 | +SECTION | |
1203 | +\t\t\t>>> C2H6 NH3 cluster <<< | |
1204 | +TITLE | |
1205 | +mklNumThreads = "1" | |
1206 | +ompNumThreads = "1" | |
1207 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1208 | +mklNumThreads = "2" | |
1209 | +ompNumThreads = "2" | |
1210 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1211 | +mklNumThreads = "4" | |
1212 | +ompNumThreads = "2" | |
1213 | +#tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1214 | + | |
1215 | +prefix = "c2h6_mndo_directCIS_singlet_force_heap_limit" | |
1216 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1217 | +--------------------------------------------------- | |
1218 | +----------- Test of limitation of Heap ---------- | |
1219 | +--------------------------------------------------- | |
1220 | +SECTION | |
1221 | +\t\t\t>>> C2H6 <<< | |
1222 | +TITLE | |
1223 | +mklNumThreads = "1" | |
1224 | +ompNumThreads = "1" | |
1225 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1226 | +mklNumThreads = "2" | |
1227 | +ompNumThreads = "2" | |
1228 | +tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1229 | + | |
1230 | + | |
1231 | + | |
1232 | + | |
1233 | +system("rm -rf temp.dat") |
@@ -0,0 +1,1233 @@ | ||
1 | +#!/usr/bin/env ruby | |
2 | +#//************************************************************************// | |
3 | +#// Copyright (C) 2011-2012 Mikiya Fujii // | |
4 | +#// Copyright (C) 2012-2013 Katsuhiko Nishimra // | |
5 | +#// // | |
6 | +#// This file is part of MolDS. // | |
7 | +#// // | |
8 | +#// MolDS is free software: you can redistribute it and/or modify // | |
9 | +#// it under the terms of the GNU General Public License as published by // | |
10 | +#// the Free Software Foundation, either version 3 of the License, or // | |
11 | +#// (at your option) any later version. // | |
12 | +#// // | |
13 | +#// MolDS is distributed in the hope that it will be useful, // | |
14 | +#// but WITHOUT ANY WARRANTY; without even the implied warranty of // | |
15 | +#// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // | |
16 | +#// GNU General Public License for more details. // | |
17 | +#// // | |
18 | +#// You should have received a copy of the GNU General Public License // | |
19 | +#// along with MolDS. If not, see <http://www.gnu.org/licenses/>. // | |
20 | +#//************************************************************************// | |
21 | + | |
22 | +Dir.chdir(File.dirname(__FILE__)) | |
23 | + | |
24 | +MolDSBin = "../src/MolDS.out".freeze | |
25 | + | |
26 | +module AllInclude | |
27 | + def include? *arg | |
28 | + true | |
29 | + end | |
30 | +end | |
31 | + | |
32 | +if ARGV.empty? | |
33 | + Tests = Object.new.extend(AllInclude) | |
34 | +else | |
35 | + Tests = ARGV.collect do |s| | |
36 | + File.basename(s, '.*') | |
37 | + end.freeze | |
38 | +end | |
39 | + | |
40 | +class Tester | |
41 | + @@surfixDat = ".dat" | |
42 | + @@surfixInp = ".in" | |
43 | + @@tempFile = "temp.dat" | |
44 | + @@moldsBin = MolDSBin | |
45 | + @@command = "command: " | |
46 | + @@mpiCommand = "mpiexec -n " | |
47 | + @@mpiProcesses = "2" | |
48 | + @@deleteDiff = " | gawk '{if(($2!=\"SCF\")&&($3!=\"iter\")){print $0}}' | gawk '{if(($4!=\"time:\")){print $0}}' | gawk '{if(($3!=\"Elapsed\")){print $0}}' | gawk '{if(($2!=\"Elapsed\")){print $0}}' | gawk '{if(($3!=\"Welcome\")){print $0}}' | gawk '{if(($7!=\"residual\")){print $0}}' | gawk '{if(($3!=\"mode(nmw):\") ){print $0}}' | gawk '{if( !(($3==\"mode(mw):\")&&($4<6)) ){print $0}}'" | |
49 | + @@printed_section = [] | |
50 | + def doesTestOmp(mklNumThreads, ompNumThreads) | |
51 | + return unless should_run? | |
52 | + ENV["MKL_NUM_THREADS"] = mklNumThreads | |
53 | + ENV["OMP_NUM_THREADS"] = ompNumThreads | |
54 | + puts <<EOS % [1,ENV["MKL_NUM_THREADS"],ENV["OMP_NUM_THREADS"]] | |
55 | +MPI processes: %s | |
56 | +MKL_NUM_THREADS:%s | |
57 | +OMP_NUM_THREADS:%s | |
58 | +EOS | |
59 | + puts @@command + @moldsCommand | |
60 | + system(@moldsCommand) | |
61 | + puts @@command + @diffCommand + @@deleteDiff | |
62 | + system(@diffCommand + @@deleteDiff) | |
63 | + puts '','','' | |
64 | + end | |
65 | + def doesTestMpi(mklNumThreads, ompNumThreads) | |
66 | + return unless should_run? | |
67 | + ENV["MKL_NUM_THREADS"] = mklNumThreads | |
68 | + ENV["OMP_NUM_THREADS"] = ompNumThreads | |
69 | + puts <<EOS % [@@mpiProcesses,ENV["MKL_NUM_THREADS"],ENV["OMP_NUM_THREADS"]] | |
70 | +MPI processes: %s | |
71 | +MKL_NUM_THREADS:%s | |
72 | +OMP_NUM_THREADS:%s | |
73 | +EOS | |
74 | + puts @@command + @moldsCommandMPI | |
75 | + system(@moldsCommandMPI) | |
76 | + puts @@command + @diffCommand + @@deleteDiff | |
77 | + system(@diffCommand + @@deleteDiff) | |
78 | + puts '','','' | |
79 | + end | |
80 | + #def initialize(prefix, section=nil, title) | |
81 | + #Old ruby workaround. | |
82 | + #Old versioned ruby accept default values for only last arguments. | |
83 | + def initialize(prefix, section, title=nil) | |
84 | + #So swap arguments if section is ommitted. | |
85 | + if title.nil? | |
86 | + section,title = title,section | |
87 | + end | |
88 | + @prefix = prefix | |
89 | + @inputFile = prefix + @@surfixInp | |
90 | + @outputFile = prefix + @@surfixDat | |
91 | + @moldsCommand = @@moldsBin + " < " + @inputFile + " > " + @@tempFile | |
92 | + @moldsCommandMPI = @@mpiCommand + @@mpiProcesses + " " + @@moldsBin + " " + @inputFile + " > " + @@tempFile | |
93 | + @diffCommand = "diff " + @outputFile + " " + @@tempFile | |
94 | + @title = title | |
95 | + # Update section title if given, otherwise reuse previous one. | |
96 | + @@section = section unless section.nil? | |
97 | + print_title | |
98 | + end | |
99 | + | |
100 | + private | |
101 | + def should_run? | |
102 | + @should ||= Tests.include?(@prefix) | |
103 | + end | |
104 | + | |
105 | + def print_title | |
106 | + return unless should_run? | |
107 | + unless @@printed_section.include?(@@section) | |
108 | + @@printed_section << @@section | |
109 | + puts @@section,'' | |
110 | + end | |
111 | + puts @title, '' | |
112 | + end | |
113 | +end | |
114 | + | |
115 | +puts <<EOS | |
116 | + | |
117 | +***************************************** | |
118 | +*** *** | |
119 | +*** *** | |
120 | +*** Start Test for MolDS *** | |
121 | +*** *** | |
122 | +*** Powered by Ruby *** | |
123 | +***************************************** | |
124 | +EOS | |
125 | + | |
126 | +puts 'MD5 sum of the MolDS.out to be tested:' | |
127 | +system "md5sum #{MolDSBin}" | |
128 | +puts '','' | |
129 | + | |
130 | +prefix = "FNC1_principal" | |
131 | +tester = Tester.new(prefix, <<"SECTION",<<"TITLE") | |
132 | +--------------------------------------------------- | |
133 | +----------- Test of principal axes -------------- | |
134 | +--------------------------------------------------- | |
135 | +SECTION | |
136 | +\t\t\t>>> F8BT <<< | |
137 | +TITLE | |
138 | +mklNumThreads = "1" | |
139 | +ompNumThreads = "1" | |
140 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
141 | + | |
142 | +prefix = "FNC1_rot120" | |
143 | +tester = Tester.new(prefix, <<"SECTION",<<"TITLE") | |
144 | +--------------------------------------------------- | |
145 | +----------- Test of rotate ---------------------- | |
146 | +--------------------------------------------------- | |
147 | +SECTION | |
148 | +\t\t\t>>> F8BT <<< | |
149 | +TITLE | |
150 | +mklNumThreads = "1" | |
151 | +ompNumThreads = "1" | |
152 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
153 | + | |
154 | +prefix = "FNC1_translate" | |
155 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
156 | +--------------------------------------------------- | |
157 | +----------- Test of translate ------------------- | |
158 | +--------------------------------------------------- | |
159 | +SECTION | |
160 | +\t\t\t>>> F8BT <<< | |
161 | +TITLE | |
162 | +mklNumThreads = "1" | |
163 | +ompNumThreads = "1" | |
164 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
165 | + | |
166 | +prefix = "ch4_cndo2" | |
167 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
168 | +------------------------------------------- | |
169 | +---------- Test of CNDO2/HF --------- | |
170 | +------------------------------------------- | |
171 | +SECTION | |
172 | +\t\t\t>>> CH4 <<< | |
173 | +TITLE | |
174 | +mklNumThreads = "1" | |
175 | +ompNumThreads = "1" | |
176 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
177 | +mklNumThreads = "2" | |
178 | +ompNumThreads = "2" | |
179 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
180 | +mklNumThreads = "4" | |
181 | +ompNumThreads = "2" | |
182 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
183 | + | |
184 | +prefix = "c2h6_cndo2" | |
185 | +tester = Tester.new(prefix, <<"TITLE") | |
186 | +\t\t\t>>> C2H6 <<< | |
187 | +TITLE | |
188 | +mklNumThreads = "1" | |
189 | +ompNumThreads = "1" | |
190 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
191 | +mklNumThreads = "2" | |
192 | +ompNumThreads = "2" | |
193 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
194 | +mklNumThreads = "4" | |
195 | +ompNumThreads = "2" | |
196 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
197 | + | |
198 | +prefix = "h2s_cndo2" | |
199 | +tester = Tester.new(prefix, <<"TITLE") | |
200 | +\t\t\t>>> H2S <<< | |
201 | +TITLE | |
202 | +mklNumThreads = "1" | |
203 | +ompNumThreads = "1" | |
204 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
205 | +mklNumThreads = "2" | |
206 | +ompNumThreads = "2" | |
207 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
208 | +mklNumThreads = "4" | |
209 | +ompNumThreads = "2" | |
210 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
211 | + | |
212 | +prefix = "ch4_indo" | |
213 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
214 | +------------------------------------------- | |
215 | +---------- Test of INDO/HF ----------- | |
216 | +------------------------------------------- | |
217 | +SECTION | |
218 | +\t\t\t>>> CH4 <<< | |
219 | +TITLE | |
220 | +mklNumThreads = "1" | |
221 | +ompNumThreads = "1" | |
222 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
223 | +mklNumThreads = "2" | |
224 | +ompNumThreads = "2" | |
225 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
226 | +mklNumThreads = "4" | |
227 | +ompNumThreads = "2" | |
228 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
229 | + | |
230 | +prefix = "c2h6_indo" | |
231 | +tester = Tester.new(prefix, <<"TITLE") | |
232 | +\t\t\t>>> C2H6 <<< | |
233 | +TITLE | |
234 | +mklNumThreads = "1" | |
235 | +ompNumThreads = "1" | |
236 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
237 | +mklNumThreads = "2" | |
238 | +ompNumThreads = "2" | |
239 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
240 | +mklNumThreads = "4" | |
241 | +ompNumThreads = "2" | |
242 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
243 | + | |
244 | +prefix = "ch4_zindos_directCIS_singlet" | |
245 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
246 | +--------------------------------------------------- | |
247 | +---------- Test of ZINDO/CIS-singlet --------- | |
248 | +---------- Without Davidson for the CIS --------- | |
249 | +--------------------------------------------------- | |
250 | +SECTION | |
251 | +\t\t\t>>> CH4 <<< | |
252 | +TITLE | |
253 | +mklNumThreads = "1" | |
254 | +ompNumThreads = "1" | |
255 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
256 | +mklNumThreads = "2" | |
257 | +ompNumThreads = "2" | |
258 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
259 | +mklNumThreads = "4" | |
260 | +ompNumThreads = "2" | |
261 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
262 | + | |
263 | +prefix = "c2h6_zindos_directCIS_singlet" | |
264 | +tester = Tester.new(prefix, <<"TITLE") | |
265 | +\t\t\t>>> C2H6 <<< | |
266 | +TITLE | |
267 | +mklNumThreads = "1" | |
268 | +ompNumThreads = "1" | |
269 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
270 | +mklNumThreads = "2" | |
271 | +ompNumThreads = "2" | |
272 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
273 | +mklNumThreads = "4" | |
274 | +ompNumThreads = "2" | |
275 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
276 | + | |
277 | +prefix = "h2s_zindos_directCIS_singlet" | |
278 | +tester = Tester.new(prefix, <<"TITLE") | |
279 | +\t\t\t>>> H2S <<< | |
280 | +TITLE | |
281 | +mklNumThreads = "1" | |
282 | +ompNumThreads = "1" | |
283 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
284 | +mklNumThreads = "2" | |
285 | +ompNumThreads = "2" | |
286 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
287 | +mklNumThreads = "4" | |
288 | +ompNumThreads = "2" | |
289 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
290 | + | |
291 | +prefix = "h2o_zindos_directCIS_singlet" | |
292 | +tester = Tester.new(prefix, <<"TITLE") | |
293 | +\t\t\t>>> H2O <<< | |
294 | +TITLE | |
295 | +mklNumThreads = "1" | |
296 | +ompNumThreads = "1" | |
297 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
298 | +mklNumThreads = "2" | |
299 | +ompNumThreads = "2" | |
300 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
301 | +mklNumThreads = "4" | |
302 | +ompNumThreads = "2" | |
303 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
304 | + | |
305 | +prefix = "ch4_zindos_davidsonCIS_singlet" | |
306 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
307 | +------------------------------------------------ | |
308 | +---------- Test of ZINDO/CIS-singlet --------- | |
309 | +---------- With Davidson for the CIS --------- | |
310 | +------------------------------------------------ | |
311 | +SECTION | |
312 | +\t\t\t>>> CH4 <<< | |
313 | +TITLE | |
314 | +mklNumThreads = "1" | |
315 | +ompNumThreads = "1" | |
316 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
317 | +mklNumThreads = "2" | |
318 | +ompNumThreads = "2" | |
319 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
320 | +mklNumThreads = "4" | |
321 | +ompNumThreads = "2" | |
322 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
323 | + | |
324 | +prefix = "c2h6_zindos_davidsonCIS_singlet" | |
325 | +tester = Tester.new(prefix, <<"TITLE") | |
326 | +\t\t\t>>> C2H6 <<< | |
327 | +TITLE | |
328 | +mklNumThreads = "1" | |
329 | +ompNumThreads = "1" | |
330 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
331 | +mklNumThreads = "2" | |
332 | +ompNumThreads = "2" | |
333 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
334 | +mklNumThreads = "4" | |
335 | +ompNumThreads = "2" | |
336 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
337 | + | |
338 | +prefix = "h2s_zindos_davidsonCIS_singlet" | |
339 | +tester = Tester.new(prefix, <<"TITLE") | |
340 | +\t\t\t>>> H2S <<< | |
341 | +TITLE | |
342 | +mklNumThreads = "1" | |
343 | +ompNumThreads = "1" | |
344 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
345 | +mklNumThreads = "2" | |
346 | +ompNumThreads = "2" | |
347 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
348 | +mklNumThreads = "4" | |
349 | +ompNumThreads = "2" | |
350 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
351 | + | |
352 | +prefix = "c2h6_zindos_force" | |
353 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
354 | +------------------------------------------------ | |
355 | +---------- Test of ZINDO/HF-Force ------------ | |
356 | +------------------------------------------------ | |
357 | +SECTION | |
358 | +\t\t\t>>> C2H6 <<< | |
359 | +TITLE | |
360 | +mklNumThreads = "1" | |
361 | +ompNumThreads = "1" | |
362 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
363 | +mklNumThreads = "2" | |
364 | +ompNumThreads = "2" | |
365 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
366 | +mklNumThreads = "4" | |
367 | +ompNumThreads = "2" | |
368 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
369 | + | |
370 | +prefix = "c2h6_zindos_directCIS_singlet_force" | |
371 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
372 | +--------------------------------------------------- | |
373 | +---------- Test of ZINDO/CIS-singlet-force -------- | |
374 | +---------- Without Davidson for the CIS -------- | |
375 | +--------------------------------------------------- | |
376 | +SECTION | |
377 | +\t\t\t>>> C2H6 <<< | |
378 | +TITLE | |
379 | +mklNumThreads = "1" | |
380 | +ompNumThreads = "1" | |
381 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
382 | +mklNumThreads = "2" | |
383 | +ompNumThreads = "2" | |
384 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
385 | +mklNumThreads = "4" | |
386 | +ompNumThreads = "2" | |
387 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
388 | + | |
389 | +prefix = "ch4_mndo" | |
390 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
391 | +------------------------------------------- | |
392 | +---------- Test of MNDO/HF ---------- | |
393 | +------------------------------------------- | |
394 | +SECTION | |
395 | +\t\t\t>>> CH4 <<< | |
396 | +TITLE | |
397 | +mklNumThreads = "1" | |
398 | +ompNumThreads = "1" | |
399 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
400 | +mklNumThreads = "2" | |
401 | +ompNumThreads = "2" | |
402 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
403 | +mklNumThreads = "4" | |
404 | +ompNumThreads = "2" | |
405 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
406 | + | |
407 | +prefix = "c2h6_mndo" | |
408 | +tester = Tester.new(prefix, <<"TITLE") | |
409 | +\t\t\t>>> C2H6 <<< | |
410 | +TITLE | |
411 | +mklNumThreads = "1" | |
412 | +ompNumThreads = "1" | |
413 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
414 | +mklNumThreads = "2" | |
415 | +ompNumThreads = "2" | |
416 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
417 | +mklNumThreads = "4" | |
418 | +ompNumThreads = "2" | |
419 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
420 | + | |
421 | +prefix = "ch4_mndo_directCIS_singlet" | |
422 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
423 | +--------------------------------------------------- | |
424 | +---------- Test of MNDO/CIS-singlet --------- | |
425 | +---------- Without Davidson for the CIS --------- | |
426 | +--------------------------------------------------- | |
427 | +SECTION | |
428 | +\t\t\t>>> CH4 <<< | |
429 | +TITLE | |
430 | +mklNumThreads = "1" | |
431 | +ompNumThreads = "1" | |
432 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
433 | +mklNumThreads = "2" | |
434 | +ompNumThreads = "2" | |
435 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
436 | +mklNumThreads = "4" | |
437 | +ompNumThreads = "2" | |
438 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
439 | + | |
440 | +prefix = "c2h6_mndo_directCIS_singlet" | |
441 | +tester = Tester.new(prefix, <<"TITLE") | |
442 | +\t\t\t>>> C2H6 <<< | |
443 | +TITLE | |
444 | +mklNumThreads = "1" | |
445 | +ompNumThreads = "1" | |
446 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
447 | +mklNumThreads = "2" | |
448 | +ompNumThreads = "2" | |
449 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
450 | +mklNumThreads = "4" | |
451 | +ompNumThreads = "2" | |
452 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
453 | + | |
454 | +prefix = "ch4_mndo_davidsonCIS_singlet" | |
455 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
456 | +--------------------------------------------------- | |
457 | +---------- Test of MNDO/CIS-singlet --------- | |
458 | +---------- With Davidson for the CIS --------- | |
459 | +--------------------------------------------------- | |
460 | +SECTION | |
461 | +\t\t\t>>> CH4 <<< | |
462 | +TITLE | |
463 | +mklNumThreads = "1" | |
464 | +ompNumThreads = "1" | |
465 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
466 | +mklNumThreads = "2" | |
467 | +ompNumThreads = "2" | |
468 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
469 | +mklNumThreads = "4" | |
470 | +ompNumThreads = "2" | |
471 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
472 | + | |
473 | +prefix = "c2h6_mndo_davidsonCIS_singlet" | |
474 | +tester = Tester.new(prefix, <<"TITLE") | |
475 | +\t\t\t>>> C2H6 <<< | |
476 | +TITLE | |
477 | +mklNumThreads = "1" | |
478 | +ompNumThreads = "1" | |
479 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
480 | +mklNumThreads = "2" | |
481 | +ompNumThreads = "2" | |
482 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
483 | +mklNumThreads = "4" | |
484 | +ompNumThreads = "2" | |
485 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
486 | + | |
487 | +prefix = "c2h6_mndo_force" | |
488 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
489 | +------------------------------------------------ | |
490 | +---------- Test of MNDO/HF-Force ------------ | |
491 | +------------------------------------------------ | |
492 | +SECTION | |
493 | +\t\t\t>>> C2H6 <<< | |
494 | +TITLE | |
495 | +mklNumThreads = "1" | |
496 | +ompNumThreads = "1" | |
497 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
498 | +mklNumThreads = "2" | |
499 | +ompNumThreads = "2" | |
500 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
501 | +mklNumThreads = "4" | |
502 | +ompNumThreads = "2" | |
503 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
504 | + | |
505 | +prefix = "c2h6_mndo_directCIS_singlet_force" | |
506 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
507 | +--------------------------------------------------- | |
508 | +---------- Test of MNDO/CIS-singlet-force -------- | |
509 | +---------- Without Davidson for the CIS -------- | |
510 | +--------------------------------------------------- | |
511 | +SECTION | |
512 | +\t\t\t>>> C2H6 <<< | |
513 | +TITLE | |
514 | +mklNumThreads = "1" | |
515 | +ompNumThreads = "1" | |
516 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
517 | +mklNumThreads = "2" | |
518 | +ompNumThreads = "2" | |
519 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
520 | +mklNumThreads = "4" | |
521 | +ompNumThreads = "2" | |
522 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
523 | + | |
524 | +prefix = "c2h6_mndo_davidsonCIS_singlet_force" | |
525 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
526 | +--------------------------------------------------- | |
527 | +---------- Test of MNDO/CIS-singlet-force -------- | |
528 | +---------- With Davidson for the CIS -------- | |
529 | +--------------------------------------------------- | |
530 | +SECTION | |
531 | +\t\t\t>>> C2H6 <<< | |
532 | +TITLE | |
533 | +mklNumThreads = "1" | |
534 | +ompNumThreads = "1" | |
535 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
536 | +mklNumThreads = "2" | |
537 | +ompNumThreads = "2" | |
538 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
539 | +mklNumThreads = "4" | |
540 | +ompNumThreads = "2" | |
541 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
542 | + | |
543 | +prefix = "ch4_am1" | |
544 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
545 | +------------------------------------------- | |
546 | +---------- Test of AM1/HF ------------ | |
547 | +------------------------------------------- | |
548 | +SECTION | |
549 | +\t\t\t>>> CH4 <<< | |
550 | +TITLE | |
551 | +mklNumThreads = "1" | |
552 | +ompNumThreads = "1" | |
553 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
554 | +mklNumThreads = "2" | |
555 | +ompNumThreads = "2" | |
556 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
557 | +mklNumThreads = "4" | |
558 | +ompNumThreads = "2" | |
559 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
560 | + | |
561 | +prefix = "c2h6_am1" | |
562 | +tester = Tester.new(prefix, <<"TITLE") | |
563 | +\t\t\t>>> C2H6 <<< | |
564 | +TITLE | |
565 | +mklNumThreads = "1" | |
566 | +ompNumThreads = "1" | |
567 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
568 | +mklNumThreads = "2" | |
569 | +ompNumThreads = "2" | |
570 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
571 | +mklNumThreads = "4" | |
572 | +ompNumThreads = "2" | |
573 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
574 | + | |
575 | +prefix = "ch4_am1_directCIS_singlet" | |
576 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
577 | +--------------------------------------------------- | |
578 | +---------- Test of AM1/CIS-singlet --------- | |
579 | +---------- Without Davidson for the CIS --------- | |
580 | +--------------------------------------------------- | |
581 | +SECTION | |
582 | +\t\t\t>>> CH4 <<< | |
583 | +TITLE | |
584 | +mklNumThreads = "1" | |
585 | +ompNumThreads = "1" | |
586 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
587 | +mklNumThreads = "2" | |
588 | +ompNumThreads = "2" | |
589 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
590 | +mklNumThreads = "4" | |
591 | +ompNumThreads = "2" | |
592 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
593 | + | |
594 | +prefix = "c2h6_am1_directCIS_singlet" | |
595 | +tester = Tester.new(prefix, <<"TITLE") | |
596 | +\t\t\t>>> C2H6 <<<\n | |
597 | +TITLE | |
598 | +mklNumThreads = "1" | |
599 | +ompNumThreads = "1" | |
600 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
601 | +mklNumThreads = "2" | |
602 | +ompNumThreads = "2" | |
603 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
604 | +mklNumThreads = "4" | |
605 | +ompNumThreads = "2" | |
606 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
607 | + | |
608 | +prefix = "ch4_am1_davidsonCIS_singlet" | |
609 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
610 | +--------------------------------------------------- | |
611 | +---------- Test of AM1/CIS-singlet --------- | |
612 | +---------- With Davidson for the CIS --------- | |
613 | +--------------------------------------------------- | |
614 | +SECTION | |
615 | +\t\t\t>>> CH4 <<< | |
616 | +TITLE | |
617 | +mklNumThreads = "1" | |
618 | +ompNumThreads = "1" | |
619 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
620 | +mklNumThreads = "2" | |
621 | +ompNumThreads = "2" | |
622 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
623 | +mklNumThreads = "4" | |
624 | +ompNumThreads = "2" | |
625 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
626 | + | |
627 | +prefix = "c2h6_am1_davidsonCIS_singlet" | |
628 | +tester = Tester.new(prefix, <<"TITLE") | |
629 | +\t\t\t>>> C2H6 <<< | |
630 | +TITLE | |
631 | +mklNumThreads = "1" | |
632 | +ompNumThreads = "1" | |
633 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
634 | +mklNumThreads = "2" | |
635 | +ompNumThreads = "2" | |
636 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
637 | +mklNumThreads = "4" | |
638 | +ompNumThreads = "2" | |
639 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
640 | + | |
641 | +prefix = "c2h6_am1_force" | |
642 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
643 | +------------------------------------------------ | |
644 | +---------- Test of AM1/HF-Force ------------ | |
645 | +------------------------------------------------ | |
646 | +SECTION | |
647 | +\t\t\t>>> C2H6 <<< | |
648 | +TITLE | |
649 | +mklNumThreads = "1" | |
650 | +ompNumThreads = "1" | |
651 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
652 | +mklNumThreads = "2" | |
653 | +ompNumThreads = "2" | |
654 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
655 | +mklNumThreads = "4" | |
656 | +ompNumThreads = "2" | |
657 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
658 | + | |
659 | +prefix = "c2h6_am1_directCIS_singlet_force" | |
660 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
661 | +--------------------------------------------------- | |
662 | +---------- Test of AM1/CIS-singlet-force -------- | |
663 | +---------- Without Davidson for the CIS -------- | |
664 | +--------------------------------------------------- | |
665 | +SECTION | |
666 | +\t\t\t>>> C2H6 <<< | |
667 | +TITLE | |
668 | +mklNumThreads = "1" | |
669 | +ompNumThreads = "1" | |
670 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
671 | +mklNumThreads = "2" | |
672 | +ompNumThreads = "2" | |
673 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
674 | +mklNumThreads = "4" | |
675 | +ompNumThreads = "2" | |
676 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
677 | + | |
678 | +prefix = "c2h6_am1_davidsonCIS_singlet_force" | |
679 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
680 | +--------------------------------------------------- | |
681 | +---------- Test of AM1/CIS-singlet-force -------- | |
682 | +---------- With Davidson for the CIS -------- | |
683 | +--------------------------------------------------- | |
684 | +SECTION | |
685 | +\t\t\t>>> C2H6 <<< | |
686 | +TITLE | |
687 | +mklNumThreads = "1" | |
688 | +ompNumThreads = "1" | |
689 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
690 | +mklNumThreads = "2" | |
691 | +ompNumThreads = "2" | |
692 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
693 | +mklNumThreads = "4" | |
694 | +ompNumThreads = "2" | |
695 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
696 | + | |
697 | +prefix = "ch4_pm3" | |
698 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
699 | +------------------------------------------- | |
700 | +---------- Test of PM3/HF ------------ | |
701 | +------------------------------------------- | |
702 | +SECTION | |
703 | +\t\t\t>>> CH4 <<< | |
704 | +TITLE | |
705 | +mklNumThreads = "1" | |
706 | +ompNumThreads = "1" | |
707 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
708 | +mklNumThreads = "2" | |
709 | +ompNumThreads = "2" | |
710 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
711 | +mklNumThreads = "4" | |
712 | +ompNumThreads = "2" | |
713 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
714 | + | |
715 | +prefix = "c2h6_pm3" | |
716 | +tester = Tester.new(prefix, <<"TITLE") | |
717 | +\t\t\t>>> C2H6 <<< | |
718 | +TITLE | |
719 | +mklNumThreads = "1" | |
720 | +ompNumThreads = "1" | |
721 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
722 | +mklNumThreads = "2" | |
723 | +ompNumThreads = "2" | |
724 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
725 | +mklNumThreads = "4" | |
726 | +ompNumThreads = "2" | |
727 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
728 | + | |
729 | +prefix = "ch4_pm3_directCIS_singlet" | |
730 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
731 | +--------------------------------------------------- | |
732 | +---------- Test of PM3/CIS-singlet --------- | |
733 | +---------- Without Davidson for the CIS --------- | |
734 | +--------------------------------------------------- | |
735 | +SECTION | |
736 | +\t\t\t>>> CH4 <<< | |
737 | +TITLE | |
738 | +mklNumThreads = "1" | |
739 | +ompNumThreads = "1" | |
740 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
741 | +mklNumThreads = "2" | |
742 | +ompNumThreads = "2" | |
743 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
744 | +mklNumThreads = "4" | |
745 | +ompNumThreads = "2" | |
746 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
747 | + | |
748 | +prefix = "c2h6_pm3_directCIS_singlet" | |
749 | +tester = Tester.new(prefix, <<"TITLE") | |
750 | +\t\t\t>>> C2H6 <<< | |
751 | +TITLE | |
752 | +mklNumThreads = "1" | |
753 | +ompNumThreads = "1" | |
754 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
755 | +mklNumThreads = "2" | |
756 | +ompNumThreads = "2" | |
757 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
758 | +mklNumThreads = "4" | |
759 | +ompNumThreads = "2" | |
760 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
761 | + | |
762 | +prefix = "ch4_pm3_davidsonCIS_singlet" | |
763 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
764 | +--------------------------------------------------- | |
765 | +---------- Test of PM3/CIS-singlet --------- | |
766 | +---------- With Davidson for the CIS --------- | |
767 | +--------------------------------------------------- | |
768 | +SECTION | |
769 | +\t\t\t>>> CH4 <<< | |
770 | +TITLE | |
771 | +mklNumThreads = "1" | |
772 | +ompNumThreads = "1" | |
773 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
774 | +mklNumThreads = "2" | |
775 | +ompNumThreads = "2" | |
776 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
777 | +mklNumThreads = "4" | |
778 | +ompNumThreads = "2" | |
779 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
780 | + | |
781 | +prefix = "c2h6_pm3_davidsonCIS_singlet" | |
782 | +tester = Tester.new(prefix, <<"TITLE") | |
783 | +\t\t\t>>> C2H6 <<<\n | |
784 | +TITLE | |
785 | +mklNumThreads = "1" | |
786 | +ompNumThreads = "1" | |
787 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
788 | +mklNumThreads = "2" | |
789 | +ompNumThreads = "2" | |
790 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
791 | +mklNumThreads = "4" | |
792 | +ompNumThreads = "2" | |
793 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
794 | + | |
795 | +prefix = "c2h6_pm3_force" | |
796 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
797 | +------------------------------------------------ | |
798 | +---------- Test of PM3/HF-Force -------------- | |
799 | +------------------------------------------------ | |
800 | +SECTION | |
801 | +\t\t\t>>> C2H6 <<< | |
802 | +TITLE | |
803 | +mklNumThreads = "1" | |
804 | +ompNumThreads = "1" | |
805 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
806 | +mklNumThreads = "2" | |
807 | +ompNumThreads = "2" | |
808 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
809 | +mklNumThreads = "4" | |
810 | +ompNumThreads = "2" | |
811 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
812 | + | |
813 | +prefix = "c2h6_pm3_directCIS_singlet_force" | |
814 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
815 | +--------------------------------------------------- | |
816 | +---------- Test of PM3/CIS-singlet-force -------- | |
817 | +---------- Without Davidson for the CIS -------- | |
818 | +--------------------------------------------------- | |
819 | +SECTION | |
820 | +\t\t\t>>> C2H6 <<< | |
821 | +TITLE | |
822 | +mklNumThreads = "1" | |
823 | +ompNumThreads = "1" | |
824 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
825 | +mklNumThreads = "2" | |
826 | +ompNumThreads = "2" | |
827 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
828 | +mklNumThreads = "4" | |
829 | +ompNumThreads = "2" | |
830 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
831 | + | |
832 | +prefix = "c2h6_pm3_davidsonCIS_singlet_force" | |
833 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
834 | +--------------------------------------------------- | |
835 | +---------- Test of PM3/CIS-singlet-force -------- | |
836 | +---------- With Davidson for the CIS -------- | |
837 | +--------------------------------------------------- | |
838 | +SECTION | |
839 | +\t\t\t>>> C2H6 <<< | |
840 | +TITLE | |
841 | +mklNumThreads = "1" | |
842 | +ompNumThreads = "1" | |
843 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
844 | +mklNumThreads = "2" | |
845 | +ompNumThreads = "2" | |
846 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
847 | +mklNumThreads = "4" | |
848 | +ompNumThreads = "2" | |
849 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
850 | + | |
851 | +prefix = "c2h6_pm3pddg" | |
852 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
853 | +------------------------------------------- | |
854 | +---------- Test of PM3/PDDG/HF ------------ | |
855 | +------------------------------------------- | |
856 | +SECTION | |
857 | +\t\t\t>>> C2H6 <<< | |
858 | +TITLE | |
859 | +mklNumThreads = "1" | |
860 | +ompNumThreads = "1" | |
861 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
862 | +mklNumThreads = "2" | |
863 | +ompNumThreads = "2" | |
864 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
865 | +mklNumThreads = "4" | |
866 | +ompNumThreads = "2" | |
867 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
868 | + | |
869 | +prefix = "c2h6_pm3pddg_directCIS_singlet" | |
870 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
871 | +--------------------------------------------------- | |
872 | +---------- Test of PM3/PDDG/CIS-singlet --------- | |
873 | +---------- Without Davidson for the CIS --------- | |
874 | +--------------------------------------------------- | |
875 | +SECTION | |
876 | +\t\t\t>>> C2H6 <<< | |
877 | +TITLE | |
878 | +mklNumThreads = "1" | |
879 | +ompNumThreads = "1" | |
880 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
881 | +mklNumThreads = "2" | |
882 | +ompNumThreads = "2" | |
883 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
884 | +mklNumThreads = "4" | |
885 | +ompNumThreads = "2" | |
886 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
887 | + | |
888 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet" | |
889 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
890 | +--------------------------------------------------- | |
891 | +---------- Test of PM3/PDDG/CIS-singlet --------- | |
892 | +---------- With Davidson for the CIS --------- | |
893 | +--------------------------------------------------- | |
894 | +SECTION | |
895 | +\t\t\t>>> C2H6 <<< | |
896 | +TITLE | |
897 | +mklNumThreads = "1" | |
898 | +ompNumThreads = "1" | |
899 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
900 | +mklNumThreads = "2" | |
901 | +ompNumThreads = "2" | |
902 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
903 | +mklNumThreads = "4" | |
904 | +ompNumThreads = "2" | |
905 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
906 | + | |
907 | +prefix = "c2h6_pm3pddg_force" | |
908 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
909 | +------------------------------------------------ | |
910 | +---------- Test of PM3/PDDG/HF-Force --------- | |
911 | +------------------------------------------------ | |
912 | +SECTION | |
913 | +\t\t\t>>> C2H6 <<< | |
914 | +TITLE | |
915 | +mklNumThreads = "1" | |
916 | +ompNumThreads = "1" | |
917 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
918 | +mklNumThreads = "2" | |
919 | +ompNumThreads = "2" | |
920 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
921 | +mklNumThreads = "4" | |
922 | +ompNumThreads = "2" | |
923 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
924 | + | |
925 | +prefix = "c2h6_pm3pddg_directCIS_singlet_force" | |
926 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
927 | +--------------------------------------------------- | |
928 | +--------- Test of PM3/PDDG/CIS-singlet-force ---- | |
929 | +--------- Without Davidson for the CIS -------- | |
930 | +--------------------------------------------------- | |
931 | +SECTION | |
932 | +\t\t\t>>> C2H6 <<< | |
933 | +TITLE | |
934 | +mklNumThreads = "1" | |
935 | +ompNumThreads = "1" | |
936 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
937 | +mklNumThreads = "2" | |
938 | +ompNumThreads = "2" | |
939 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
940 | +mklNumThreads = "4" | |
941 | +ompNumThreads = "2" | |
942 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
943 | + | |
944 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet_force" | |
945 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
946 | +--------------------------------------------------- | |
947 | +--------- Test of PM3/PDDG/CIS-singlet-force ---- | |
948 | +--------- With Davidson for the CIS -------- | |
949 | +--------------------------------------------------- | |
950 | +SECTION | |
951 | +\t\t\t>>> C2H6 <<< | |
952 | +TITLE | |
953 | +mklNumThreads = "1" | |
954 | +ompNumThreads = "1" | |
955 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
956 | +mklNumThreads = "2" | |
957 | +ompNumThreads = "2" | |
958 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
959 | +mklNumThreads = "4" | |
960 | +ompNumThreads = "2" | |
961 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
962 | + | |
963 | +prefix = "c2h6_pm3pddg_opt_steepest" | |
964 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
965 | +------------------------------------------------ | |
966 | +------ Test of PM3/PDDG/Steepest Descent ------ | |
967 | +------------------------------------------------ | |
968 | +SECTION | |
969 | +\t\t\t>>> C2H6 <<<\n | |
970 | +TITLE | |
971 | +mklNumThreads = "1" | |
972 | +ompNumThreads = "1" | |
973 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
974 | +mklNumThreads = "2" | |
975 | +ompNumThreads = "2" | |
976 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
977 | +mklNumThreads = "4" | |
978 | +ompNumThreads = "2" | |
979 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
980 | + | |
981 | +prefix = "c2h6_pm3pddg_opt_conjugate" | |
982 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
983 | +------------------------------------------------ | |
984 | +---- Test of PM3/PDDG/Conjugate gradient ------ | |
985 | +------------------------------------------------ | |
986 | +SECTION | |
987 | +\t\t\t>>> C2H6 <<< | |
988 | +TITLE | |
989 | +mklNumThreads = "1" | |
990 | +ompNumThreads = "1" | |
991 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
992 | +mklNumThreads = "2" | |
993 | +ompNumThreads = "2" | |
994 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
995 | +mklNumThreads = "4" | |
996 | +ompNumThreads = "2" | |
997 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
998 | + | |
999 | +prefix = "c2h6_pm3pddg_opt_bfgs" | |
1000 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1001 | +------------------------------------------------ | |
1002 | +------ Test of PM3/PDDG/BFGS ------------------ | |
1003 | +------------------------------------------------ | |
1004 | +SECTION | |
1005 | +\t\t\t>>> C2H6 <<< | |
1006 | +TITLE | |
1007 | +mklNumThreads = "1" | |
1008 | +ompNumThreads = "1" | |
1009 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1010 | +mklNumThreads = "2" | |
1011 | +ompNumThreads = "2" | |
1012 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1013 | +mklNumThreads = "4" | |
1014 | +ompNumThreads = "2" | |
1015 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1016 | + | |
1017 | +prefix = "c2h6_pm3pddg_opt_gediis" | |
1018 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1019 | +------------------------------------------------ | |
1020 | +------ Test of PM3/PDDG/GEDIIS ---------------- | |
1021 | +------------------------------------------------ | |
1022 | +SECTION | |
1023 | +\t\t\t>>> C2H6 <<< | |
1024 | +TITLE | |
1025 | +mklNumThreads = "1" | |
1026 | +ompNumThreads = "1" | |
1027 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1028 | +mklNumThreads = "2" | |
1029 | +ompNumThreads = "2" | |
1030 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1031 | + | |
1032 | +prefix = "c2h6_pm3_MC" | |
1033 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1034 | +--------------------------------------------------- | |
1035 | +--------- Test of PM3/HF-MC --------------------- | |
1036 | +--------------------------------------------------- | |
1037 | +SECTION | |
1038 | +\t\t\t>>> C2H6 <<< | |
1039 | +TITLE | |
1040 | +mklNumThreads = "1" | |
1041 | +ompNumThreads = "1" | |
1042 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1043 | +mklNumThreads = "2" | |
1044 | +ompNumThreads = "2" | |
1045 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1046 | +mklNumThreads = "4" | |
1047 | +ompNumThreads = "2" | |
1048 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1049 | + | |
1050 | +prefix = "c2h6_pm3_directCIS_singlet_MC" | |
1051 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1052 | +--------------------------------------------------- | |
1053 | +--------- Test of PM3/CIS-singlet-MC ---------- | |
1054 | +--------- Without Davidson for the CIS ---------- | |
1055 | +--------------------------------------------------- | |
1056 | +SECTION | |
1057 | +\t\t\t>>> C2H6 <<< | |
1058 | +TITLE | |
1059 | +mklNumThreads = "1" | |
1060 | +ompNumThreads = "1" | |
1061 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1062 | +mklNumThreads = "2" | |
1063 | +ompNumThreads = "2" | |
1064 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1065 | +mklNumThreads = "4" | |
1066 | +ompNumThreads = "2" | |
1067 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1068 | + | |
1069 | +prefix = "c2h6_pm3pddg_rpmd" | |
1070 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1071 | +------------------------------------------------ | |
1072 | +---------- Test of PM3/PDDG/RPMD ------------- | |
1073 | +------------------------------------------------ | |
1074 | +SECTION | |
1075 | +\t\t\t>>> C2H6 <<< | |
1076 | +TITLE | |
1077 | +mklNumThreads = "1" | |
1078 | +ompNumThreads = "1" | |
1079 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1080 | +mklNumThreads = "2" | |
1081 | +ompNumThreads = "2" | |
1082 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1083 | +mklNumThreads = "4" | |
1084 | +ompNumThreads = "2" | |
1085 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1086 | + | |
1087 | +prefix = "c2h6_pm3pddg_davidsonCIS_singlet_rpmd" | |
1088 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1089 | +--------------------------------------------------- | |
1090 | +--------- Test of PM3/PDDG/CIS/RPMD --------- | |
1091 | +--------- With Davidson for the CIS --------- | |
1092 | +--------------------------------------------------- | |
1093 | +SECTION | |
1094 | +\t\t\t>>> C2H6 <<< | |
1095 | +TITLE | |
1096 | +mklNumThreads = "1" | |
1097 | +ompNumThreads = "1" | |
1098 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1099 | +mklNumThreads = "2" | |
1100 | +ompNumThreads = "2" | |
1101 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1102 | +mklNumThreads = "4" | |
1103 | +ompNumThreads = "2" | |
1104 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1105 | + | |
1106 | +prefix = "c2h6_pm3d" | |
1107 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1108 | +------------------------------------------- | |
1109 | +------------ Test of PM3-D/HF ------------- | |
1110 | +------------------------------------------- | |
1111 | +SECTION | |
1112 | +\t\t\t>>> C2H6 <<< | |
1113 | +TITLE | |
1114 | + | |
1115 | +mklNumThreads = "1" | |
1116 | +ompNumThreads = "1" | |
1117 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1118 | +mklNumThreads = "2" | |
1119 | +ompNumThreads = "2" | |
1120 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1121 | +mklNumThreads = "4" | |
1122 | +ompNumThreads = "2" | |
1123 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1124 | + | |
1125 | +prefix = "c2h6_pm3_vdw" | |
1126 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1127 | +--------------------------------------------------- | |
1128 | +------ Test of vdw correction in PM3/HF --------- | |
1129 | +--------------------------------------------------- | |
1130 | +SECTION | |
1131 | +\t\t\t>>> C2H6 <<< | |
1132 | +TITLE | |
1133 | +mklNumThreads = "1" | |
1134 | +ompNumThreads = "1" | |
1135 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1136 | +mklNumThreads = "2" | |
1137 | +ompNumThreads = "2" | |
1138 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1139 | +mklNumThreads = "4" | |
1140 | +ompNumThreads = "2" | |
1141 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1142 | + | |
1143 | +prefix = "c2h6_pm3_vdw_force" | |
1144 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1145 | +--------------------------------------------------- | |
1146 | +---- Test of vdw correction in PM3/HF-Force ----- | |
1147 | +--------------------------------------------------- | |
1148 | +SECTION | |
1149 | +\t\t\t>>> C2H6 <<< | |
1150 | +TITLE | |
1151 | +mklNumThreads = "1" | |
1152 | +ompNumThreads = "1" | |
1153 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1154 | +mklNumThreads = "2" | |
1155 | +ompNumThreads = "2" | |
1156 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1157 | +mklNumThreads = "4" | |
1158 | +ompNumThreads = "2" | |
1159 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1160 | + | |
1161 | +prefix = "c2h6_pm3_vdw_MC" | |
1162 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1163 | +--------------------------------------------------- | |
1164 | +------ Test of vdw correction in PM3/HF-MC ------ | |
1165 | +--------------------------------------------------- | |
1166 | +SECTION | |
1167 | +\t\t\t>>> C2H6 <<< | |
1168 | +TITLE | |
1169 | +mklNumThreads = "1" | |
1170 | +ompNumThreads = "1" | |
1171 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1172 | +mklNumThreads = "2" | |
1173 | +ompNumThreads = "2" | |
1174 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1175 | +mklNumThreads = "4" | |
1176 | +ompNumThreads = "2" | |
1177 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1178 | + | |
1179 | +prefix = "c2h6-h2o-cluster_pm3pddg_freq" | |
1180 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1181 | +------------------------------------------- | |
1182 | +---- Test of PM3/PDDG/HF/FREQUENCIES --- | |
1183 | +------------------------------------------- | |
1184 | +SECTION | |
1185 | +\t\t\t>>> C2H6 H2O cluster <<< | |
1186 | +TITLE | |
1187 | +mklNumThreads = "1" | |
1188 | +ompNumThreads = "1" | |
1189 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1190 | +mklNumThreads = "2" | |
1191 | +ompNumThreads = "2" | |
1192 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1193 | +mklNumThreads = "4" | |
1194 | +ompNumThreads = "2" | |
1195 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1196 | + | |
1197 | +prefix = "c2h6-nh3-cluster_pm3d_freq" | |
1198 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1199 | +------------------------------------------- | |
1200 | +----- Test of PM3-D/HF/FREQUENCIES ---- | |
1201 | +------------------------------------------- | |
1202 | +SECTION | |
1203 | +\t\t\t>>> C2H6 NH3 cluster <<< | |
1204 | +TITLE | |
1205 | +mklNumThreads = "1" | |
1206 | +ompNumThreads = "1" | |
1207 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1208 | +mklNumThreads = "2" | |
1209 | +ompNumThreads = "2" | |
1210 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1211 | +mklNumThreads = "4" | |
1212 | +ompNumThreads = "2" | |
1213 | +tester.doesTestMpi(mklNumThreads,ompNumThreads) | |
1214 | + | |
1215 | +prefix = "c2h6_mndo_directCIS_singlet_force_heap_limit" | |
1216 | +tester = Tester.new(prefix, <<"SECTION", <<"TITLE") | |
1217 | +--------------------------------------------------- | |
1218 | +----------- Test of limitation of Heap ---------- | |
1219 | +--------------------------------------------------- | |
1220 | +SECTION | |
1221 | +\t\t\t>>> C2H6 <<< | |
1222 | +TITLE | |
1223 | +mklNumThreads = "1" | |
1224 | +ompNumThreads = "1" | |
1225 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1226 | +mklNumThreads = "2" | |
1227 | +ompNumThreads = "2" | |
1228 | +#tester.doesTestOmp(mklNumThreads,ompNumThreads) | |
1229 | + | |
1230 | + | |
1231 | + | |
1232 | + | |
1233 | +system("rm -rf temp.dat") |