- 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