- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Presently using CVF 6.1
Down loaded mkl trial version install worked fine on my new 3.2 ghz p4
Made small sample project using ddot worked fine
made small sample project using dgemm worked fine
Tried to use sparse solver DSS using the example sym program
resulted in unresolved address constants of type @8, @40 etc
Recompiled mkl_dss.f90 with some aliases added.
See Below
Code:
!******************************************************************************* ! INTEL CONFIDENTIAL ! Copyright(C) 2004 Intel Corporation. All Rights Reserved. ! The source code contained or described herein and all documents related to ! the source code ("Material") are owned by Intel Corporation or its suppliers ! or licensors. Title to the Material remains with Intel Corporation or its ! suppliers and licensors. The Material contains trade secrets and proprietary ! and confidential information of Intel or its suppliers and licensors. The ! Material is protected by worldwide copyright and trade secret laws and ! treaty provisions. No part of the Material may be used, copied, reproduced, ! modified, published, uploaded, posted, transmitted, distributed or disclosed ! in any way without Intel's prior express written permission. ! No license under any patent, copyright, trade secret or other intellectual ! property right is granted to or conferred upon you by disclosure or delivery ! of the Materials, either expressly, by implication, inducement, estoppel or ! otherwise. Any license under such intellectual property rights must be ! express and approved by Intel in writing. ! !******************************************************************************* ! Content : MKL DSS Fortran-90 header file ! ! Contains main datatypes, routines and constants definition ! !******************************************************************************* !XDEC$ IF .NOT. DEFINED( __MKL_DSS_F90 ) !XDEC$ DEFINE __MKL_DSS_F90 MODULE mkl_dss_private TYPE MKL_DSS_HANDLE REAL(8) DUMMY ! INTEGER(KIND=8) dummy; END TYPE END MODULE mkl_dss_private MODULE mkl_dss USE mkl_dss_private INTEGER, PARAMETER :: MKL_DSS_DEFAULTS = 0 ! ! Message level option definitions ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_SUCCESS = -2147483647 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_DEBUG = -2147483646 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_INFO = -2147483645 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_WARNING = -2147483644 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_ERROR = -2147483643 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_FATAL = -2147483642 ! ! Termination level option definitions ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_SUCCESS = 1073741832 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_DEBUG = 1073741840 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_INFO = 1073741848 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_WARNING = 1073741856 INTEGER(KIN D=4), PARAMETER :: MKL_DSS_TERM_LVL_ERROR = 1073741864 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_FATAL = 1073741872 ! ! Structure option definitions ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_SYMMETRIC = 536870976 INTEGER(KIND=4), PARAMETER :: MKL_DSS_SYMMETRIC_STRUCTURE = 536871040 INTEGER(KIND=4), PARAMETER :: MKL_DSS_NON_SYMMETRIC = 536871104 ! ! Reordering option definitions ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_AUTO_ORDER = 268435520 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MY_ORDER = 268435584 INTEGER(KIND=4), PARAMETER :: MKL_DSS_OPTION1_ORDER = 268435648 ! ! Factorization option definitions ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_POSITIVE_DEFINITE = 134217792 INTEGER(KIND=4), PARAMETER :: MKL_DSS_INDEFINITE = 134217856 INTEGER(KIND=4), PARAMETER :: MKL_DSS_HERMITIAN_POSITIVE_DEFINITE = 134217920 INTEGER(KIND=4), PARAMETER :: MKL_DSS_HERMITIAN_INDEFINITE = 134217984 ! ! Return status values ! INTEGER(KIND=4), PARAMETER :: MKL_DSS_SUCCESS = 0 INTEGER(KIND=4), PARAMETER :: MKL_DSS_ZERO_PIVOT = -1 INTEGER(KIND=4), PARAMETER :: MKL_DSS_OUT_OF_MEMORY = -2 INTEGER(KIND=4), PARAMETER :: MKL_DSS_FAILURE = -3 INTEGER(KIND=4), PARAMETER :: MKL_DSS_ROW_ERR = -4 INTEGER(KIND=4), PARAMETER :: MKL_DSS_COL_ERR = -5 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TOO_FEW_VALUES = -6 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TOO_MANY_VALUES = -7 INTEGER(KIND=4), PARAMETER :: MKL_DSS_NOT_SQUARE = -8 INTEGER(KIND=4), PARAMETER :: MKL_DSS_STATE_ERR = -9 INTEGER(KIND=4), PARAMETER :: MKL_DSS_INVALID_OPTION = -10 INTEGER(KIND=4), PARAMETER :: MKL_DSS_OPTION_CONFLICT = -11 INTEGER(KIND=4), PARAMETER :: MKL_DSS_MSG_LVL_ERR = -12 INTEGER(KIND=4), PARAMETER :: MKL_DSS_TERM_LVL_ERR = -13 INTEGER(KIND=4), PARAMETER :: MKL_DSS_STRUCTURE_ERR = -14 INTEGER(KIND=4), PARAMETER :: MKL_DSS_REORDER_ERR = -15 INTEGER(KIND=4), PARAMETER :: MKL_DSS_VALUES_ERR = -16 INTEGER(KIND=4), PARAMETER :: MKL_DSS_STATISTICS_INVALID_MATRIX = -17 INTEGER(KIND=4), PARAMETER :: MKL_DSS_STATISTICS_INVALID_STATE = -18 INTEGER(KIND=4), PARAMETER :: MKL_DSS_STATISTICS_INVALID_STRING = -19 ! ! Function prototypes for DSS routines ! INTERFACE FUNCTION dss_create( handle, opt ) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_DSS_CREATE" :: dss_create !DEC$ ATTRIBUTES REFERENCE :: handle, opt USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(OUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4) :: dss_create END FUNCTION dss_create END INTERFACE INTERFACE FUNCTION dss_define_structure( handle, opt, rowIndex, nRows, rCols, columns, nNonZeros ) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_DSS_DEFINE_STRUCTURE" :: dss_define_structure !DEC$ ATTRIBUTES REFERENCE :: handle, opt, rowIndex, nRows, rCols, columns, nNonZeros USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4), INTENT(IN) :: nRows INTEGER(KIND=4), INTENT(IN) :: rCols INTEGER(KIND=4), INTENT(IN) :: nNonZeros INTEGER(KIND=4), INTENT(IN) :: rowIndex( * ) ! * = min(nRows, nCols)+1 INTEGER(KIND=4), INTENT(IN) :: columns( * ) ! * = nNonZeros INTEGER(KIND=4) :: dss_defin e_structure END FUNCTION dss_define_structure END INTERFACE INTERFACE FUNCTION dss_reorder( handle, opt, perm ) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_DSS_REORDER" :: dss_reorder !DEC$ ATTRIBUTES REFERENCE :: handle, opt, perm USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4), INTENT(IN) :: perm( * ) INTEGER(KIND=4) :: dss_reorder END FUNCTION dss_reorder END INTERFACE INTERFACE FUNCTION dss_factor_real( handle, opt, rValues ) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_DSS_FACTOR_REAL" :: dss_factor_real !DEC$ ATTRIBUTES REFERENCE :: handle, opt, rValues USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt REAL(KIND=8), INTENT(INOUT) :: rValues( * ) INTEGER(KIND=4) :: dss_factor_real END FUNCTION dss_factor_real END INTERFACE INTERFACE FUNCTION dss_factor_complex( handle, opt, rValues ) USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt COMPLEX(KIND=8), INTENT(IN) :: rValues( * ) INTEGER(KIND=4) :: dss_factor_complex END FUNCTION dss_factor_complex END INTERFACE INTERFACE FUNCTION dss_solve_real( handle, opt, rRhsValues, nRhs, rSolValues ) USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4), INTENT(IN) :: nRhs REAL(KIND=8), INTENT(IN) :: rRhsValues( * ) REAL(KIND=8), INTENT(OUT) :: rSolValues( * ) INTEGER(KIND=4) :: dss_solve_real END FUNCTION dss_solve_real END INTERFACE INTERFACE FUNCTION dss_solve_complex( handle, opt, rRhsValues, nRhs, rSolValues ) USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(INOUT) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4), INTENT(IN) :: nRhs COMPLEX(KIND=8), INTENT(IN) :: rRhsValues( * ) COMPLEX(KIND=8), INTENT(OUT) :: rSolValues( * ) INTEGER(KIND=4) :: dss_solve_complex END FUNCTION dss_solve_complex END INTERFACE INTERFACE FUNCTION dss_delete( handle, opt ) USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(IN) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4) :: dss_delete END FUNCTION dss_delete END INTERFACE INTERFACE FUNCTION dss_statistics( handle, opt, stat, ret ) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_DSS_STATISTICS" :: dss_statistics !DEC$ ATTRIBUTES REFERENCE :: handle, opt, stat, ret USE mkl_dss_private TYPE(MKL_DSS_HANDLE), INTENT(IN) :: handle INTEGER(KIND=4), INTENT(IN) :: opt INTEGER(KIND=4), INTENT(IN) :: stat( * ) REAL(KIND=8), INTENT(OUT) :: ret( * ) INTEGER(KIND=4) :: dss_statistics END FUNCTION dss_statistics END INTERFACE INTERFACE SUBROUTINE mkl_cvt_to_null_terminated_str (destStr, destLen, srcStr,LEN_SRCSTR) !DEC$ ATTRIBUTES STDCALL ,ALIAS:"_MKL_CVT_TO_NULL_TERMINATED_STR" :: mkl_cvt_to_null_terminated_str !DEC$ ATTRIBUTES REFERENCE :: destStr, destLen !DEC$ ATTRIBUTES value :: sr cStr,LEN_SRCSTR INTEGER(KIND=4), INTENT(IN) :: DESTLEN INTEGER(KIND=4), INTENT(OUT) :: DESTSTR(DESTLEN) INTEGER(KIND=4), INTENT(IN) :: srcStr integer(kind=4), INTENT(IN) :: LEN_SRCSTR END SUBROUTINE mkl_cvt_to_null_terminated_str END INTERFACE END MODULE mkl_dss !XDEC$ ENDIF
Worked fine as unresolved externals did not show up.
Had also to add likage for "mkl_cvt_to_null_terminated" and modify call. This also seemed to work as I varied parameters and wrote out the resulting string changes. And then Used ;subroutine gain info about reorder time.
Here is my problem
routines dss_create, dss_define_structure, dss_reorder all woked or at; least returned zero error level.
Routine dss_factor_real resulted in "access violation" program termination
Anybody got any Ideas?
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page