Commit Graph

35 Commits (a3036d7d1cfa847d7959a6f62c8a577fb1d11b46)

Author SHA1 Message Date
Salvatore Filippone 9f8f5bdd70 psblas3:
base/serial/impl/psb_c_csc_impl.f90
 base/serial/impl/psb_d_csc_impl.f90
 base/serial/impl/psb_s_csc_impl.f90
 base/serial/impl/psb_z_csc_impl.f90
 opt/psb_d_rsb_mat_mod.F90
 prec/psb_d_diagprec.f90
 test/pargen/runs/ppde.inp

Fixed silly bug in csc_print.
Michele Martone ecb61a0509 psblas3-trunk:
fix to the rsb interface: numerical type codes for non double-types were wrong.
Michele Martone a842daac12 psblas3-trunk:
bugfix: in the previous commit, the S rsb module was identical to the C one.
Michele Martone eb44238091 psblas3-trunk:
updating the rsb interface code with S (single precision floating point) and C (single precision complex) BLAS types, by modifying the code cloning code in the Makefile (and versioning).
Michele Martone 5de0060ec9 psblas3-trunk:
set up regular expressions for generating Z (double complex) bindings for RSB, and versioning generated files.
Michele Martone 1ccffbfc31 psblas3-trunk:
mitigating the psb/rsb module verbosity.
Michele Martone 1240acd3e6 psblas3-trunk:
bugfixes to psb_d_rsb_csgetptn (using uninitialized values and other problems).
Michele Martone af68b32a2c psblas3-trunk:
bugfix: psb_d_rsb_csgetptn returned nz=0.
added a naive rscale/cscale handling in psb_d_rsb_csgetrow/psb_d_rsb_csgetrow
Salvatore Filippone cb171527c0 psblas3:
makefile in Opt: simple rules!
Michele Martone ed99eb1d84 psblas3-trunk:
libpsb_opt.a will get installed, too.
Michele Martone 603289aa9e psblas3:
the rsb module had some routines not checking for optionality of arguments.
Michele Martone 9f3474ef1e psblas3:
updating Makefile's almost everywhere; enough to avoid redundant cp, ar and ranlib invocations during `make check`.
Michele Martone 0c224b963a psblas3:
renamed libopt.a to libpsb_opt.a and building it and installing by default.
Salvatore Filippone 324830ef7b psblas3:
base/Makefile
 base/comm/psb_cgather.f90
 base/comm/psb_chalo.f90
 base/comm/psb_covrl.f90
 base/comm/psb_cscatter.F90
 base/comm/psb_dgather.f90
 base/comm/psb_dhalo.f90
 base/comm/psb_dovrl.f90
 base/comm/psb_dscatter.F90
 base/comm/psb_igather.f90
 base/comm/psb_ihalo.f90
 base/comm/psb_iovrl.f90
 base/comm/psb_iscatter.F90
 base/comm/psb_sgather.f90
 base/comm/psb_shalo.f90
 base/comm/psb_sovrl.f90
 base/comm/psb_sscatter.F90
 base/comm/psb_zgather.f90
 base/comm/psb_zhalo.f90
 base/comm/psb_zovrl.f90
 base/comm/psb_zscatter.F90
 base/modules/Makefile
 base/modules/psb_serial_mod.f90
 base/modules/psb_sparse_mod.f90
 base/psblas/psb_camax.f90
 base/psblas/psb_casum.f90
 base/psblas/psb_caxpby.f90
 base/psblas/psb_cdot.f90
 base/psblas/psb_cnrmi.f90
 base/psblas/psb_cspmm.f90
 base/psblas/psb_cspsm.f90
 base/psblas/psb_damax.f90
 base/psblas/psb_dasum.f90
 base/psblas/psb_daxpby.f90
 base/psblas/psb_ddot.f90
 base/psblas/psb_dspmm.f90
 base/psblas/psb_dspnrm1.f90
 base/psblas/psb_dspsm.f90
 base/psblas/psb_samax.f90
 base/psblas/psb_sasum.f90
 base/psblas/psb_saxpby.f90
 base/psblas/psb_sdot.f90
 base/psblas/psb_sspmm.f90
 base/psblas/psb_sspsm.f90
 base/psblas/psb_sxdot.f90
 base/psblas/psb_zamax.f90
 base/psblas/psb_zasum.f90
 base/psblas/psb_zaxpby.f90
 base/psblas/psb_zdot.f90
 base/psblas/psb_zspmm.f90
 base/psblas/psb_zspsm.f90
 base/serial/psb_cnumbmm.f90
 base/serial/psb_crwextd.f90
 base/serial/psb_csymbmm.f90
 base/serial/psb_dnumbmm.f90
 base/serial/psb_drwextd.f90
 base/serial/psb_dsymbmm.f90
 base/serial/psb_snumbmm.f90
 base/serial/psb_srwextd.f90
 base/serial/psb_ssymbmm.f90
 base/serial/psb_znumbmm.f90
 base/serial/psb_zrwextd.f90
 base/serial/psb_zsymbmm.f90
 base/tools/psb_callc.f90
 base/tools/psb_casb.f90
 base/tools/psb_ccdbldext.F90
 base/tools/psb_cd_inloc.f90
 base/tools/psb_cd_lstext.f90
 base/tools/psb_cd_reinit.f90
 base/tools/psb_cd_set_bld.f90
 base/tools/psb_cd_switch_ovl_indxmap.f90
 base/tools/psb_cdals.f90
 base/tools/psb_cdalv.f90
 base/tools/psb_cdcpy.F90
 base/tools/psb_cdins.f90
 base/tools/psb_cdprt.f90
 base/tools/psb_cdren.f90
 base/tools/psb_cdrep.f90
 base/tools/psb_cfree.f90
 base/tools/psb_cins.f90
 base/tools/psb_cspalloc.f90
 base/tools/psb_cspasb.f90
 base/tools/psb_cspfree.f90
 base/tools/psb_csphalo.F90
 base/tools/psb_cspins.f90
 base/tools/psb_csprn.f90
 base/tools/psb_dallc.f90
 base/tools/psb_dasb.f90
 base/tools/psb_dcdbldext.F90
 base/tools/psb_dfree.f90
 base/tools/psb_dins.f90
 base/tools/psb_dspalloc.f90
 base/tools/psb_dspasb.f90
 base/tools/psb_dspfree.f90
 base/tools/psb_dsphalo.F90
 base/tools/psb_dspins.f90
 base/tools/psb_dsprn.f90
 base/tools/psb_get_overlap.f90
 base/tools/psb_glob_to_loc.f90
 base/tools/psb_ialloc.f90
 base/tools/psb_iasb.f90
 base/tools/psb_icdasb.F90
 base/tools/psb_ifree.f90
 base/tools/psb_iins.f90
 base/tools/psb_linmap.f90
 base/tools/psb_loc_to_glob.f90
 base/tools/psb_map.f90
 base/tools/psb_sallc.f90
 base/tools/psb_sasb.f90
 base/tools/psb_scdbldext.F90
 base/tools/psb_sfree.f90
 base/tools/psb_sins.f90
 base/tools/psb_sspalloc.f90
 base/tools/psb_sspasb.f90
 base/tools/psb_sspfree.f90
 base/tools/psb_ssphalo.F90
 base/tools/psb_sspins.f90
 base/tools/psb_ssprn.f90
 base/tools/psb_zallc.f90
 base/tools/psb_zasb.f90
 base/tools/psb_zcdbldext.F90
 base/tools/psb_zfree.f90
 base/tools/psb_zins.f90
 base/tools/psb_zspalloc.f90
 base/tools/psb_zspasb.f90
 base/tools/psb_zspfree.f90
 base/tools/psb_zsphalo.F90
 base/tools/psb_zspins.f90
 base/tools/psb_zsprn.f90
 krylov/Makefile
 krylov/psb_base_inner_krylov_mod.f90
 krylov/psb_c_inner_krylov_mod.f90
 krylov/psb_cbicg.f90
 krylov/psb_ccg.f90
 krylov/psb_ccgs.f90
 krylov/psb_ccgstab.f90
 krylov/psb_ccgstabl.f90
 krylov/psb_ckrylov.f90
 krylov/psb_crgmres.f90
 krylov/psb_d_inner_krylov_mod.f90
 krylov/psb_dbicg.f90
 krylov/psb_dcg.F90
 krylov/psb_dcgs.f90
 krylov/psb_dcgstab.F90
 krylov/psb_dcgstabl.f90
 krylov/psb_dkrylov.f90
 krylov/psb_drgmres.f90
 krylov/psb_krylov_mod.f90
 krylov/psb_s_inner_krylov_mod.f90
 krylov/psb_sbicg.f90
 krylov/psb_scg.F90
 krylov/psb_scgs.f90
 krylov/psb_scgstab.F90
 krylov/psb_scgstabl.f90
 krylov/psb_skrylov.f90
 krylov/psb_srgmres.f90
 krylov/psb_z_inner_krylov_mod.f90
 krylov/psb_zbicg.f90
 krylov/psb_zcg.F90
 krylov/psb_zcgs.f90
 krylov/psb_zcgstab.f90
 krylov/psb_zcgstabl.f90
 krylov/psb_zkrylov.f90
 krylov/psb_zrgmres.f90
 opt/psb_d_ell_impl.f90
 opt/psb_d_rsb_mat_mod.F90
 prec/Makefile
 prec/psb_c_base_prec_mod.f90
 prec/psb_c_bjacprec.f90
 prec/psb_c_diagprec.f90
 prec/psb_c_nullprec.f90
 prec/psb_c_prec_type.f90
 prec/psb_cilu_fct.f90
 prec/psb_cprecbld.f90
 prec/psb_cprecinit.f90
 prec/psb_cprecset.f90
 prec/psb_d_base_prec_mod.f90
 prec/psb_d_bjacprec.f90
 prec/psb_d_diagprec.f90
 prec/psb_d_nullprec.f90
 prec/psb_d_prec_type.f90
 prec/psb_dilu_fct.f90
 prec/psb_dprecbld.f90
 prec/psb_dprecinit.f90
 prec/psb_dprecset.f90
 prec/psb_prec_const_mod.f90
 prec/psb_prec_mod.f90
 prec/psb_s_base_prec_mod.f90
 prec/psb_s_bjacprec.f90
 prec/psb_s_diagprec.f90
 prec/psb_s_nullprec.f90
 prec/psb_s_prec_type.f90
 prec/psb_silu_fct.f90
 prec/psb_sprecbld.f90
 prec/psb_sprecinit.f90
 prec/psb_sprecset.f90
 prec/psb_z_base_prec_mod.f90
 prec/psb_z_bjacprec.f90
 prec/psb_z_diagprec.f90
 prec/psb_z_nullprec.f90
 prec/psb_z_prec_type.f90
 prec/psb_zilu_fct.f90
 prec/psb_zprecbld.f90
 prec/psb_zprecinit.f90
 prec/psb_zprecset.f90
 test/fileread/cf_sample.f90
 test/fileread/df_sample.f90
 test/fileread/getp.f90
 test/fileread/sf_sample.f90
 test/fileread/zf_sample.f90
 test/newfmt/ppde.F90
 test/newfmt/spde.f90
 test/pargen/ppde.f90
 test/pargen/spde.f90
 test/serial/d_coo_matgen.f90
 test/serial/d_matgen.f90
 test/serial/psb_d_cxx_impl.f90
 test/serial/psb_d_cyy_impl.f90
 test/torture/psb_c_mvsv_tester.f90
 test/torture/psb_d_mvsv_tester.f90
 test/torture/psb_s_mvsv_tester.f90
 test/torture/psb_z_mvsv_tester.f90
 test/torture/psbtf.f90
 test/util/dhb2mm.f90
 test/util/dmm2hb.f90
 test/util/zhb2mm.f90
 test/util/zmm2hb.f90
 util/psb_hbio_impl.f90
 util/psb_hbio_mod.f90
 util/psb_mat_dist_impl.f90
 util/psb_mat_dist_mod.f90
 util/psb_metispart_mod.F90
 util/psb_mmio_impl.f90
 util/psb_mmio_mod.f90


Changed psb_sparse_mod into psb_base_mod, added psb_csprt. This allows
the cbind stuff to be shared between version 2 and version 3.
Salvatore Filippone bf06e61067 psblas3:
base/modules/psb_base_mat_mod.f90
 base/modules/psb_c_base_mat_mod.f90
 base/modules/psb_c_csc_mat_mod.f90
 base/modules/psb_c_csr_mat_mod.f90
 base/modules/psb_d_base_mat_mod.f90
 base/modules/psb_d_csc_mat_mod.f90
 base/modules/psb_d_csr_mat_mod.f90
 base/modules/psb_gen_block_map_mod.f90
 base/modules/psb_glist_map_mod.f90
 base/modules/psb_hash_map_mod.f90
 base/modules/psb_indx_map_mod.f90
 base/modules/psb_list_map_mod.f90
 base/modules/psb_repl_map_mod.f90
 base/modules/psb_s_base_mat_mod.f90
 base/modules/psb_s_csc_mat_mod.f90
 base/modules/psb_s_csr_mat_mod.f90
 base/modules/psb_z_base_mat_mod.f90
 base/modules/psb_z_csc_mat_mod.f90
 base/modules/psb_z_csr_mat_mod.f90
 opt/psb_d_ell_mat_mod.f90
 opt/psb_d_rsb_mat_mod.F90

Changed get_fmt() to a NOPASS method (but not for spmat_type).
Salvatore Filippone e04fa17a1c psblas3-dev:
opt/Makefile
 opt/elldev.c
 opt/elldev.h
 opt/elldev_mod.F90
 opt/psb_d_elg_impl.F90
 opt/psb_d_elg_mat_mod.F90

Moved work on GPU to psblas-gpu.
Salvatore Filippone 07ab8f0632 psblas3-dev:
opt/Makefile
 opt/elldev.c
 opt/elldev.h
 opt/elldev_mod.F90
 opt/psb_d_elg_impl.F90
 opt/psb_d_elg_mat_mod.F90

Started work on GPU interfacing.
Salvatore Filippone 5b24b3695c psblas3-dev:
base/modules/psb_base_mat_mod.f03
 base/modules/psb_base_mat_mod.f90
 base/modules/psb_c_base_mat_mod.f03
 base/modules/psb_c_base_mat_mod.f90
 base/modules/psb_c_csc_mat_mod.f03
 base/modules/psb_c_csc_mat_mod.f90
 base/modules/psb_c_csr_mat_mod.f03
 base/modules/psb_c_csr_mat_mod.f90
 base/modules/psb_c_mat_mod.f03
 base/modules/psb_c_mat_mod.f90
 base/modules/psb_d_base_mat_mod.f03
 base/modules/psb_d_base_mat_mod.f90
 base/modules/psb_d_csc_mat_mod.f03
 base/modules/psb_d_csc_mat_mod.f90
 base/modules/psb_d_csr_mat_mod.f03
 base/modules/psb_d_csr_mat_mod.f90
 base/modules/psb_d_mat_mod.f03
 base/modules/psb_d_mat_mod.f90
 base/modules/psb_gen_block_map_mod.f03
 base/modules/psb_gen_block_map_mod.f90
 base/modules/psb_glist_map_mod.f03
 base/modules/psb_glist_map_mod.f90
 base/modules/psb_hash_map_mod.f03
 base/modules/psb_hash_map_mod.f90
 base/modules/psb_indx_map_mod.f03
 base/modules/psb_indx_map_mod.f90
 base/modules/psb_list_map_mod.f03
 base/modules/psb_list_map_mod.f90
 base/modules/psb_mat_mod.f03
 base/modules/psb_mat_mod.f90
 base/modules/psb_repl_map_mod.f03
 base/modules/psb_repl_map_mod.f90
 base/modules/psb_s_base_mat_mod.f03
 base/modules/psb_s_base_mat_mod.f90
 base/modules/psb_s_csc_mat_mod.f03
 base/modules/psb_s_csc_mat_mod.f90
 base/modules/psb_s_csr_mat_mod.f03
 base/modules/psb_s_csr_mat_mod.f90
 base/modules/psb_s_mat_mod.f03
 base/modules/psb_s_mat_mod.f90
 base/modules/psb_z_base_mat_mod.f03
 base/modules/psb_z_base_mat_mod.f90
 base/modules/psb_z_csc_mat_mod.f03
 base/modules/psb_z_csc_mat_mod.f90
 base/modules/psb_z_csr_mat_mod.f03
 base/modules/psb_z_csr_mat_mod.f90
 base/modules/psb_z_mat_mod.f03
 base/modules/psb_z_mat_mod.f90
 base/serial/f03/psb_base_mat_impl.f03
 base/serial/f03/psb_base_mat_impl.f90
 base/serial/f03/psb_c_base_mat_impl.f03
 base/serial/f03/psb_c_base_mat_impl.f90
 base/serial/f03/psb_c_coo_impl.f03
 base/serial/f03/psb_c_coo_impl.f90
 base/serial/f03/psb_c_csc_impl.f03
 base/serial/f03/psb_c_csc_impl.f90
 base/serial/f03/psb_c_csr_impl.f03
 base/serial/f03/psb_c_csr_impl.f90
 base/serial/f03/psb_c_mat_impl.F03
 base/serial/f03/psb_c_mat_impl.F90
 base/serial/f03/psb_d_base_mat_impl.f03
 base/serial/f03/psb_d_base_mat_impl.f90
 base/serial/f03/psb_d_coo_impl.f03
 base/serial/f03/psb_d_coo_impl.f90
 base/serial/f03/psb_d_csc_impl.f03
 base/serial/f03/psb_d_csc_impl.f90
 base/serial/f03/psb_d_csr_impl.f03
 base/serial/f03/psb_d_csr_impl.f90
 base/serial/f03/psb_d_mat_impl.F03
 base/serial/f03/psb_d_mat_impl.F90
 base/serial/f03/psb_s_base_mat_impl.f03
 base/serial/f03/psb_s_base_mat_impl.f90
 base/serial/f03/psb_s_coo_impl.f03
 base/serial/f03/psb_s_coo_impl.f90
 base/serial/f03/psb_s_csc_impl.f03
 base/serial/f03/psb_s_csc_impl.f90
 base/serial/f03/psb_s_csr_impl.f03
 base/serial/f03/psb_s_csr_impl.f90
 base/serial/f03/psb_s_mat_impl.F03
 base/serial/f03/psb_s_mat_impl.F90
 base/serial/f03/psb_z_base_mat_impl.f03
 base/serial/f03/psb_z_base_mat_impl.f90
 base/serial/f03/psb_z_coo_impl.f03
 base/serial/f03/psb_z_coo_impl.f90
 base/serial/f03/psb_z_csc_impl.f03
 base/serial/f03/psb_z_csc_impl.f90
 base/serial/f03/psb_z_csr_impl.f03
 base/serial/f03/psb_z_csr_impl.f90
 base/serial/f03/psb_z_mat_impl.F03
 base/serial/f03/psb_z_mat_impl.F90
 opt/psb_d_ell_impl.f03
 opt/psb_d_ell_impl.f90
 opt/psb_d_ell_mat_mod.f03
 opt/psb_d_ell_mat_mod.f90
 opt/psb_d_rsb_mat_mod.F03
 opt/psb_d_rsb_mat_mod.F90
 opt/rsb_mod.f03
 opt/rsb_mod.f90
 prec/psb_c_base_prec_mod.f03
 prec/psb_c_base_prec_mod.f90
 prec/psb_c_bjacprec.f03
 prec/psb_c_bjacprec.f90
 prec/psb_c_diagprec.f03
 prec/psb_c_diagprec.f90
 prec/psb_c_nullprec.f03
 prec/psb_c_nullprec.f90
 prec/psb_c_prec_type.f03
 prec/psb_c_prec_type.f90
 prec/psb_d_base_prec_mod.f03
 prec/psb_d_base_prec_mod.f90
 prec/psb_d_bjacprec.f03
 prec/psb_d_bjacprec.f90
 prec/psb_d_diagprec.f03
 prec/psb_d_diagprec.f90
 prec/psb_d_nullprec.f03
 prec/psb_d_nullprec.f90
 prec/psb_d_prec_type.f03
 prec/psb_d_prec_type.f90
 prec/psb_prec_const_mod.f03
 prec/psb_prec_const_mod.f90
 prec/psb_prec_type.f03
 prec/psb_prec_type.f90
 prec/psb_s_base_prec_mod.f03
 prec/psb_s_base_prec_mod.f90
 prec/psb_s_bjacprec.f03
 prec/psb_s_bjacprec.f90
 prec/psb_s_diagprec.f03
 prec/psb_s_diagprec.f90
 prec/psb_s_nullprec.f03
 prec/psb_s_nullprec.f90
 prec/psb_s_prec_type.f03
 prec/psb_s_prec_type.f90
 prec/psb_z_base_prec_mod.f03
 prec/psb_z_base_prec_mod.f90
 prec/psb_z_bjacprec.f03
 prec/psb_z_bjacprec.f90
 prec/psb_z_diagprec.f03
 prec/psb_z_diagprec.f90
 prec/psb_z_nullprec.f03
 prec/psb_z_nullprec.f90
 prec/psb_z_prec_type.f03
 prec/psb_z_prec_type.f90
 test/pargen/runs/ppde.inp
 test/serial/d_coo_matgen.f03
 test/serial/d_coo_matgen.f90
 test/serial/d_matgen.f03
 test/serial/d_matgen.f90
 test/serial/psb_d_cxx_impl.f03
 test/serial/psb_d_cxx_impl.f90
 test/serial/psb_d_cxx_mat_mod.f03
 test/serial/psb_d_cxx_mat_mod.f90
 test/serial/psb_d_cyy_impl.f03
 test/serial/psb_d_cyy_impl.f90
 test/serial/psb_d_cyy_mat_mod.f03
 test/serial/psb_d_cyy_mat_mod.f90
 test/serial/psb_d_czz_mat_mod.f03
 test/serial/psb_d_czz_mat_mod.f90

Switched all f03 into f90. This should let Intel work.
Michele Martone 0b97a63013 psblas3:
updated the rsb module to rsb's svn revision 1326.
Michele Martone a68e558a81 psblas3:
updated the RSB routine calls according to the RSB interface at revision 1320.
Michele Martone 193d9eabf5 psblas3:
update to the rsb auto-generated module.
Michele Martone 656be2a3e8 psblas3:
in a placeholder for symultaneous spmv and spmvt, in the rsb module.
Michele Martone 026ddad716 psblas3:
initializing the rsb library in the rsb module.
initializing a string used uninitialized in ppde.f90.
Michele Martone ad87a0924d psblas3:
in the rsb module: reintegrated spmm/spsm operations, changed some constants values to reflect the change in librsb, and updated some info notice.
Michele Martone 392ae64e6c psblas3:
passing relevant flags to the RSB constructor.
Michele Martone 1df256a131 psblas3:
odd bug catched; in italian:
Usavo dichiarare e inizializzare "flags" come:

   integer             :: flags=c_def_flags

e da una chiamata all'altra, rimaneva il flag della chiamata precedente.
Poiche' nel modulo fortran, "aggiungo" is flag usando + anziche' un
operatore OR, il flag (un bit) rimanendo dalla chiamata precedente,
(la costruzione di L: qui siamo nella costruzione di U) veniva "spostato"
di una posizione in su, risultando nell'assenza effettiva del bit
"triangolare", a fronte della sua aggiunta.

Ho rimediato con:

   integer             :: flags
   flags=c_def_flags
Michele Martone 8a893bd58c psblas3:
triangle flags detection and setting, for preconditioner building.
still some preconditioner matrix is invoked without having that flag.
Salvatore Filippone 946c42e97f Added error handling.
Salvatore Filippone a24f7ae171 psblas3:
opt/psb_d_rsb_mat_mod.F03

Missing copy of base components.
Salvatore Filippone 744a90981e psblas3:
opt/psb_d_rsb_mat_mod.F03
 test/newfmt/ppde.f90

Fixed error in output from rsb_getrow. 
Some problems are still there.
Salvatore Filippone a32402db35 *** empty log message ***
Salvatore Filippone 9484ed9c2c psblas3-dev:
test/serial/psb_d_rsb_mat_mod.F03

Bug in calling inner interface.
Salvatore Filippone 33b7f6c4bc psblas3-dev:
opt/Makefile
 opt/psb_d_rsb_mat_mod.F03
 opt/rsb_mod.f03
 test/newfmt/Makefile
 test/newfmt/ppde.f90
 test/newfmt/runs/ppde.inp
 test/serial/d_matgen.f03
 test/serial/psb_d_rsb_mat_mod.F03

Minor fix for interface of rsb_init.
Copied RSB interface to OPT/
Linked into TEST/NEWFMT: start of debug. 
Status: TO/FROM COO/FMT (CSR), SPMV, GET_DIAG seem to be working
(tested from ppde with DIAG preconditioner). 
GETBLK segfaults.
Salvatore Filippone b6d7966486 psblas3:
opt/Makefile
 opt/psb_d_ell_impl.f03
 prec/psb_d_bjacprec.f03

First working version of ELL. Tested with a makeshift verison of ppde.
Salvatore Filippone 3831be4ef0 psblas3:## base/modules/psb_c_base_mat_mod.f03
base/modules/psb_d_mat_mod.f03
 base/modules/psb_linmap_type_mod.f90
 base/modules/psb_serial_mod.f90
 base/serial/Makefile
 base/serial/f03/psb_c_coo_impl.f03
 base/serial/f03/psb_c_csc_impl.f03
 base/serial/f03/psb_c_csr_impl.f03
 base/serial/f03/psb_d_coo_impl.f03
 base/serial/f03/psb_d_csc_impl.f03
 base/serial/f03/psb_d_csr_impl.f03
 base/serial/f03/psb_d_mat_impl.F03
 base/serial/f03/psb_s_coo_impl.f03
 base/serial/f03/psb_s_csc_impl.f03
 base/serial/f03/psb_s_csr_impl.f03
 base/serial/f03/psb_z_coo_impl.f03
 base/serial/f03/psb_z_csc_impl.f03
 base/serial/f03/psb_z_csr_impl.f03
 opt
 opt/Makefile
 opt/psb_d_ell_impl.f03
 opt/psb_d_ell_mat_mod.f03
 prec/psb_d_base_prec_mod.f03
 prec/psb_d_bjacprec.f03
 prec/psb_d_prec_type.f03
 test/fileread/df_sample.f90
 test/fileread/runs/dfs.inp
 test/serial/d_matgen.f03
 test/serial/psb_d_rsb_mat_mod.F03

1. Fixed get_diag for various cases.
2. OPT subdir for experimental material; right now ELL.