Some big worries with spm and recent intel compilers
I am trying to install pastix on some of our servers.
On the Météo-France server (our main target) we'r bound to intel 16.0.1.150 with intelmpi 5.1.2.150. In this version of the compiler, mkl does not contain LAPACKE, therefore we cannot even compile.
Lucky case, my machine, intel 16.0.4.258 with intelmpi/5.1.3.223. Compilation ok, tests ok (but hb ) no problems with the wrapper/f90 tests.
More recent: intel 17.0.4.196 or intel/18.0.1.163 compilation is OK, but the flaplacian and both fmultilap tests fail.
Some debug with intel17 shows that flaplacian passes if we comment out the deallocate at line 178:
call spmCheckAxb( dparm(DPARM_EPSILON_REFINEMENT), nrhs, spm, x0_ptr, spm%n, b_ptr, spm%n, x_ptr, spm%n, info )
call spmExit( spm )
!AP INTEL17 deallocate( spm )
deallocate(x0)
deallocate(x)
The fmultilap case works well with the test_mt.in input parameters set if we comment out the analogous deallocate at line 557
call spmExit( sys_array(im)%spm )
!AP INTEL17 deallocate( sys_array(im)%spm )
end do
Yet the problem is deeper when running with the test_seq.in input parameters set (notice that "check and correct" is disabled, therefore it runs through spmConvert):
!====================================================================!
Outer iteration: 1
!--------------------------------------------------------------------!
Nb of factorization performed in parallel = 1
Nb of threads used by PaStiX per factorization = 5
*** Error in `./fmultilap': double free or corruption (out): 0x00002b6e1d085400 ***
======= Backtrace: =========
[...]
fmultilap 00000000004FBB49 spmExit 208 spm.c
fmultilap 000000000051BDAF z_spmConvertIJV2C 84 z_spm_convert_to_csc.c
fmultilap 00000000004FC13E spmConvert 391 spm.c
fmultilap 000000000041A279 spmf_mp_spmconver 461 spmf.f90
fmultilap 00000000004159FE fmultilap_IP_mult 859 fmultilap.f90
fmultilap 0000000000410E73 MAIN__ 292 fmultilap.f90