- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an MKL routine (getrfl) that is crashing with an erro mesage that is too fast to read - I want to see it and intecept it. As I am building DLLs it is esential that I, at bthe very least, suppress the screen output. I tried adding an empty xerbla routine in my VS2008 build but it did seem to get called (I tried in the debugger)
I use IVF 11.0.066 adn MKL10.05.025.Thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Genaddy In a large program call getrf(M,indx,info) is causing a crash. But, as the code is pretty well tested I suspect there is something wrong with the data or indeed the call (from a customers Pascal!). But this has prompted me to do what I should have done long ago: Make sure that, where possible, I control the error handling. Hence my first try, adding subroutine xerbla (srname, info) character*(*) srname !Name of subprogram that called xerbla integer*4 info !Position of the invalid parameter in the parameter list return !Return to the calling subprogram end So my questions are: 1. can I easily trap (most/many) errors and if so how? 2. are there errors that (like this one) that are not trappable - i.e. should I upgrade to a new Fortran hence MKL? As I said, the error flashes by too fast to see. Thanks Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mecej4 Thanks, this is as I feared. This seems hard work just to get an error message. (1) is this my only option? (2) I have written this XERBLA. I am hoping it will write the error message to a file and also to prevent /delay the crash. subroutine my_xerbla (srname, info) character*(*) srname !Name of subprogram that called xerbla integer*4 info !Position of the invalid parameter in the parameter list integer*4 iunit iunit=99 OPEN(UNIT=iunit, FILE='MKL_Error.log', STATUS='unknown', IOSTAT=ie) WRITE (iunit,'(A,i4)') 'srnme='//srname//' arg=',info 1000 FORMAT(A,I4) CLOSE (unit=iunit) return !Return to the calling subprogram end (3) Any tips on either how to access the required nmake, or else make the DLL in MSVS2008 (4) it would be "tidy" is the debugger could see the xerbla (but that not seem trivial) Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I only use a few MKL functions - though I am unclear why this effect the size of the exe. Can you please clarify the crucial details: 1. if I am MSVS (2008) how do I ensure the correct link order 2. Do I then need a new name (e.g. myxerbla) It looked like MKL User Guide was more command (nmake) based. Thanks

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page