Wiki
Clone wikiblopex / HypreTestingLinuxMKL
Introduction
Testing new BLOPEX in Hypre 2.6.0b with the MKL library. BLOPEX LOBPCG computes a number of smallest eigenpairs utilizing Hypre's IJ, Struct and SStruct interfaces. Test drivers ij, struct, sstruct in test. System configuration:
- Intel(R) Pentium(R) ,4 CPU, 3.06GHz, 3.24 GB of RAM
- IntelĀ® Math Kernel Library (IntelĀ® MKL) 10.1.1.019
Testing performed by PZ.
Setup Hypre
Follow http://code.google.com/p/blopex/wiki/HypreInstallLinux
Execution of Tests for Hypre's IJ interface
Find 20 smallest eigenpairs of 3-D 7-point 64x64x64 Laplacian. Use 2 cores, random guess and BoomerAMG (default) preconditioner.
$ mpirun -np 2 ./ij -lobpcg -n 64 64 64 -pcgitr 0 -vrand 20 -seed 1 ........ Initial Max. Residual 2.43837832680518e+00 Iteration 1 bsize 20 maxres 9.27760154340507e-01 Iteration 2 bsize 20 maxres 9.95859757156809e-02 Iteration 3 bsize 20 maxres 5.35809124515939e-02 ........ eigenvalue lambda Residual 7.00663900604045e-03 3.11322837230447e-09 1.40078232353874e-02 4.57818548828887e-09 1.40078232353958e-02 1.62566134872779e-09 1.40078232353963e-02 2.14889545451487e-09 ........ eigenvalue lambda Residual 3.96606622268333e-02 9.32872005531149e-09 3.96606622273050e-02 7.51110116488256e-09 35 iterations ============================================= ============================================= Solve phase times: ============================================= LOBPCG Solve: wall clock time = 287.250000 seconds wall MFLOPS = 0.000000 cpu clock time = 280.990000 seconds cpu MFLOPS = 0.000000
Execution of Tests for Hypre's Struct interface
Find 20 smallest eigenpairs of 3-D 7-point 64x64x64 Laplacian. Use 2 cores, random guess and SMG (default) preconditioner.
$ mpirun -np 2 ./struct -lobpcg -P 2 1 1 -n 32 64 64 -pcgitr 0 -tol 1.e-6 -vrand 20 -seed 1 ........ Eigenvalue lambda Residual 7.00663900604139e-03 7.56594276478264e-08 1.40078232353955e-02 3.76989345154822e-07 1.40078232354047e-02 7.15309221225593e-07 ........ Eigenvalue lambda Residual 3.26594779980024e-02 4.54729654862343e-07 3.26594779981157e-02 6.77070667719083e-07 3.26594779983479e-02 5.43680775562528e-07 3.96606622279992e-02 6.77906637333927e-07 3.96606622283168e-02 6.30564953621517e-07 3.96606622285524e-02 6.65041623721332e-07 38 iterations ============================================= Solve phase times: ============================================= PCG Solve: wall clock time = 507.470000 seconds wall MFLOPS = 0.000000 cpu clock time = 456.300000 seconds cpu MFLOPS = 0.000000
Execution of Tests for Hypre's SStruct interface
To test Hypre's SStruct interface we use the default input file sstuct.in.default (can be found in src/test/TEST_sstruct and copied to src/test). We compute 10 smallest eigenpairs using 2 cores, random initial guess and SMG preconditioner:
$ mpirun -np 2 ./sstruct -P 1 1 2 -lobpcg -solver 10 -tol 1.e-6 -pcgitr 0 -seed 1 -vrand 10 Eigenvalue lambda 1.34880848246833e+00 Eigenvalue lambda 1.36560847743323e+00 Eigenvalue lambda 1.47908699641570e+00 Eigenvalue lambda 1.49589925872234e+00 Eigenvalue lambda 1.69420716798715e+00 Eigenvalue lambda 1.71104021853950e+00 Eigenvalue lambda 1.78666772443481e+00 Eigenvalue lambda 1.81237285962598e+00 Eigenvalue lambda 1.82920488646797e+00 Eigenvalue lambda 1.84668108358806e+00 Residual 8.63315718464232e-07 Residual 7.12441385694004e-07 Residual 8.01558487410104e-07 Residual 8.38541144282045e-07 Residual 8.83898725273333e-07 Residual 9.24912236823651e-07 Residual 8.69609164824751e-07 Residual 9.25491794233026e-07 Residual 8.43603160538818e-07 Residual 1.01253606865980e-06 100 iterations ============================================= Solve phase times: ============================================= LOBPCG Solve: wall clock time = 34.420000 seconds wall MFLOPS = 0.000000 cpu clock time = 33.180000 seconds cpu MFLOPS = 0.000000
In the test, the desired tolerance (1e-6) for residual norms was achieved at each eigenpair.
Updated