I am a beginner to Intel Visual Fortran (IVF) environment on Windows. I have few Fortran files which I would like to run using the IVF. I have downloaded the Intel API basic and MKL libraries. Can someone guide me on how I can compile my Fortran files using MKL and UMFPACK libraries, etc. I mean I am a novice, so I need guidance from scratch. Or at least if someone can point me to beginner's guide in this area.
Lots of thanks in advance!
Did you download and install the OneAPI HPC Toolkit? If not, you do not have the Intel Fortran compiler installed, unless you had a previously installed version of Intel Fortran. Do you have a prebuilt version of the UMFPack library? What compiler was it built with/for?
Thank you sir for your quick reply!
Sir, I have downloaded One API HPC toolkit and also the OneAPI basic toolkit. Now, you please assume that I DO NOT have any experience of UMFPACK or MKL libraries. I just got a code in Fortran which uses UMFPACK and MKL. I only know a little bit of Fortran coding. So, I would be very thankful if you can guide me from scratch.
Given your circumstances, I think that you should find somebody in your locality who has the required expertise and can help you.
It is not reasonable to ask people in this forum to guide you from scratch, sorry.
Agreed Sir! However, it is not that I have come here just like that. I have been trying to get some local help for more than 3 years, but unfortunately, I could not find anyone working on this aspect. So, I started learning it online from wherever I could get useful help. Someone suggested me about this Forum, and so I am here.
It's okay if you do not wish to help me from scratch. I can understand that. I am sorry I took valuable time of others.
Let me do some more homework and then come back here. Thanks !
Learning Fortran may be laudable and useful, but that alone is not going to help you to build an application that makes calls to UMFPACK routines. Here are some details, based on my own experience (in 2015) with building and benchmarking UMFPACK and other sparse matrix packages (MUMPS, SuperLU, WSMP, etc.) on Windows.
UMFPACK has been developed for over two decades, and is now part of SuiteSparse. Older versions were in Fortran, and later versions are in C. The distributions from the author are meant for Linux/Unix, requiring the use of Make, Cmake, SVN, GitHub, Python installers, etc.
Build scripts have been prepared by third parties for building UMFPACK on Windows, but these tend to be several years old and they may not work with the current release of SuiteSparse.
Prebuilt UMFPACK binaries (LIB or DLL) are available for Cygwin and Windows/MSVC/MINGW, but these tend not to be compatible with Intel Fortran. The quickest route on Windows may be to use Cygwin, since the Cygwin installer can download and install UMFPACK as a ready-to-use package. However, to use the Cygwin version, it is far easier if Gfortran is used as the Fortran compiler. If the prebuilt library/DLL uses its own BLAS/Lapack routines, performance will be less than what may be achievable if MKL were used instead.
If a prebuilt package is not available, a "beginner" will probably not be able to build the UMFPACK library from sources. Even if a package is available, debugging a mixed language application (Fortran caller, C library, Fortran/C conversion layers) is not a task for a beginner.
Here are a few threads in this forum that may illustrate the difficulties that I mentioned:
Post from 2015, by a professional engineer.
Post from 2016, by a "beginner".
as usual, mecej4 is brutally honest and correct. If you are a academic, then contact the bloke who has this github site and ask for help. If you are a PhD student, set aside a year of learning, ask first is it really necessary. If you are a masters student, then use a different program there are lots of solvers etc... If you are an undergraduate student, I know maybe 4 undergraduate students that I have met/taught, the total number will be excess of 10,000, who would have a go at this problem and solve it. Trust me they are rare, special and always absolute bonkers.
I am not bonkers.
The question is, is your motivation high enough to overcome the problems and do you have the basic skills in math and comp sci and the ability to learn what you need to learn.
As Hardy once noted : We have concluded that the trivial mathematics is, on the whole, useful, and that the real mathematics, on the whole, is not.
Thanks a lot mejec4 !! You surely have caught the actual nerve! I think your input here is very correct. PErhaps my struggle are with building UMFPACK and/or MKL. Give me 1-2 days, and I will come back with my exact problem definition.
I am very thankful to all here who have spared their valuable time to guide me, despite knowing my limitations! I truly appreciate it.
What is the problem you are trying to solve? What is your educational background, you need good math skills to solve with Fortran and you are on a site with experts who have excellent math skills, I would say at least undergraduate three years of applied math or pure mathematics. Or be enrolled at this level so you can ask your teachers.
As a teacher, I cannot teach what I do not understand. Have you programmed in other languages? As mecej4 often points out indirectly we are not mind readers.
If you have good math skills, then the text book I used to learn Fortran programming is by Conte and deBoore. It has excellent samples and good text and some good problems. It is old so you need to add a few things like implicit none. It is online as a pdf, if I am teaching myself something new, I get a book like Conte and I download it and read it from cover to cover before I try anything.
Intel has excellent samples, the Intel Fortran PDF manual is great, the MKL manual is for someone who knows a little Fortran.
Finally - ask specific questions, but what can you do now?
I would also do a search on mecej4 jimdempsey and SLionel on this board and read some of their posts to learn how to ask and answer questions properly.
These people are used to answering specific questions quickly and moving on, they are not the sort of people you natter with for a long time. It tends to drive them batty.
As my pure math teacher once said, if you want a friend buy a dog or take a psychology class. The dog is better.