View Full Version : Intel fortran compiler
Hi I want to use PC BSD but the only thing preventing me from doing so is wether it is possible to install the intel fortran compiler(IFF) for linux on it. It is crucial that IFF can work and produce fully optimised binaries, as my work is based on it. :?
Pleas let me know if it will work and if so how to install IFF. Thanks
I've had an interest in the Intel compilers as well, but have never checked them out. These are the versions that are available from the FreeBSD ports -- they do produce native FreeBSD code, and thus by definition should work fine on PC-BSD. Are either of these the right versions?
DrJ
ifc-8.1.028
Intel's Fortran compiler, set up to produce native FreeBSD binaries
Maintained by: maho@FreeBSD.org
Also listed in: linux devel
Requires: linux_base-8-8.0_6
Description : Sources : Changes : Download
ifc7-7.1.040_1
Intel's Fortran compiler, set up to produce native FreeBSD objects
Maintained by: maho@FreeBSD.org
Also listed in: linux devel
Requires: linux_base-8-8.0_6
Description : Sources : Changes : Download
Are either of these the right versions?
DrJ
ifc-8.1.028
Intel's Fortran compiler, set up to produce native FreeBSD binaries
Maintained by: maho@FreeBSD.org
Also listed in: linux devel
Requires: linux_base-8-8.0_6
Description : Sources : Changes : Download
Yes that is the correct version, I have premier account with Intel as i bought thier IFF for windows, the e-mailed me saying that v9.0 will be available for linux for free d/l after August. So it is current.
I currently have no BSD, is it possible if you could let me know it works? I am a bit confused because to get IFF u need to register for free and then d/l the free version and they e-mail you a licence. I downloaded the file from the bsd ports and had a peek inside it on my win pc, it just contains shell scripts and some .c files and make, surely it is too small to be the IFF compiler which is about 80Mb
Thanks DrJ and if you are sucessful I will nuke my Linux system with BSD :twisted:
I'll give it a go. One caution: my underlying OS is a bit old (5.2.1), so the port my not work until I update (probably this weekend). Let me cvsup my ports tree and I'll let you know.
DrJ
I'll give it a go. One caution: my underlying OS is a bit old (5.2.1), so the port my not work until I update (probably this weekend). Let me cvsup my ports tree and I'll let you know.
DrJ
Thanks DrJ :D
PS Don't use the version 7 of IFC as it has some bugs, but 8 and above is fine. The bugs in 7 are rare but if you hit one will take you ages to sort as they are runtime errors.
You can also get the icc compilers and use them instead of gcc.
In general IFC will give you about 40 to 60 % speed improvement on a p4 class processor over other f77/f90/f95 compilers, at times even 100% in some problems that can be vectorised.
I checked with what is required to get ifc 8.x running. One needs to have FreeBSD 5.4 to get the latest version; since I'm on 5.2.1 the latest version I can run at the moment is 7.1.033. That doesn't really answer your question, though.
I will be updating Real Soon Now, so I should be able to give this a go shortly. If you don't want to wait, I'd suggest sending the FreeBSD maintainer your questions and see what the response is.
FWIW, I'd be most surprised it this did not work for you. I checked the makefile, and you are right: you have to register to get a license (which you already appear to have). Then you download the tarball and put it in the usual /usr/ports/distfiles, go to the /usr/ports/lang/ifc directory and make the file. It should then work fine. My experience with ports of commercial products is uniformly good (other than Acroread 7 perhaps).
DrJ
How well do you know the compilers?
One thing that always held me back from trying them was that my main machine is a dual Athlon, and it was never clear to me how the code either ifc or icc produces is optimized. I would suspect that they make heavy use of SSE2 instructions, which of course the Athlons lack. Do you have options to select which instructions are used? Do you know how well either work on an Athlon-based system?
We can take this to private mail, unless there is general interest. I suspect that this is getting pretty arcane...
DrJ
How well do you know the compilers?
One thing that always held me back from trying them was that my main machine is a dual Athlon, and it was never clear to me how the code either ifc or icc produces is optimized. I would suspect that they make heavy use of SSE2 instructions, which of course the Athlons lack. Do you have options to select which instructions are used? Do you know how well either work on an Athlon-based system?
We can take this to private mail, unless there is general interest. I suspect that this is getting pretty arcane...
DrJ
I use them nearly daily 8)
If you are into high performance computing my only advice is that keep away from AMDs as they lack any good optimising compiler, even the one that are £500 cannot run most code as they are POSIX incompatible and even if you pert your codes genrerally equivalent AMDs will run 30 - 40% slower in most vectorised maths.
IFC will compile, but cannot optimse fully due to differences in arch, such as cache size, implementation of sse2 etc, there are tricks in fooling the binary to think it is running on an intel cpu, but i wouldn't use it on a prodction machine. to be truthfull ifc even without all the high end optimisations will give you better speed on an AMD than even the £500 non comercial AMD compilers.
Just a bit i know, we have a 900CPU intel Xeon cluster and a 28 cpu amd Opteron cluster, the intel machine is always busy thanks to good compiler and speed, the AMD machine is idle, why even the uber expensive AMD optimised compiler is posix incompatible, the guy who wanted to save the pennies bought the AMD system is nowhere to be seen, now they wanted me to use it for free, but no one has time porting code to non posix standard, so it remains idle :o
How well do you know the compilers?
DrJ
I use them nearly daily 8)
If you are into high performance computing my only advice is that keep away from AMDs as they lack any good optimising compiler, even the one that are £500 cannot run most code as they are POSIX incompatible and even if you pert your codes genrerally equivalent AMDs will run 30 - 40% slower in most vectorised maths.
IFC will compile, but cannot optimse fully due to differences in arch, such as cache size, implementation of sse2 etc, there are tricks in fooling the binary to think it is running on an intel cpu, but i wouldn't use it on a prodction machine. to be truthfull ifc even without all the high end optimisations will give you better speed on an AMD than even the £500 non comercial AMD compilers.
Just a bit i know, we have a 900CPU intel Xeon cluster and a 28 cpu amd Opteron cluster, the intel machine is always busy thanks to good compiler and speed, the AMD machine is idle, why even the uber expensive AMD optimised compiler is posix incompatible, the guy who wanted to save the pennies bought the AMD system is nowhere to be seen, now they wanted me to use it for free, but no one has time porting code to non posix standard, so it remains idle :o
If by "High Performance Computing" you mean on clusters, then no, I'm not into that. I do compartively simple solution of coupled PDEs using finite differences or elements; most are linear, some are time-dependent. So I don't need the brute force required for molecular dynamics, quantum mechanics, heavy-duty fluid mechanics or the like.
So my needs are much more modest; a long execution time for me on my dual machine without any particular care given to code optimization is 8 hours. Most of my code executes in a few minutes to a half hour or so using the gnu compiler collection. Still, the Intel family generally seems to shave off 30 or 40% of the time even if not much care is given. They seem to be good products.
What has held me back from examining the Intel family is that my application is commercial, and shaving the bit of time from problems that are not really that large did not seem like it was worth the money for a commercial license. An evaulation license has a time limit (so that's not worth it) and I could not in good conscience use it under a non-commercial license.
BTW, I know people who do serious molecular dynamics calculations (where each trial takes about a month on a modern, standard uniprocessor box) that know next to nothing about CPU architecture, instruction sets and compiler optimization (or even about the range of compilers that are available). They just buy a half-dozen boxes and let them run. So daily use of something is not the same as enjoying and understanding them.
Back to your original problem, I'd suggest you set up a dual boot system to evaluate PC-BSD to make sure everything works for you. Spare disks are dirt cheap these days; 40 GB would be more than plenty to get started. It seems that you are in the UK, so that would raise prices a bit, but even in that case I'd be surprised if it would cost you more than $30 for a suitable drive if you keep your eyes open.
As I mentioned, I'd be surprised if ifc would not work for you on PC-BSD/FreeBSD, but I've been surprised before and undoubtedly will be again.
DrJ
If by "High Performance Computing" you mean on clusters, then no, I'm not into that. I do compartively simple solution of coupled PDEs using finite differences or elements; most are linear, some are time-dependent. So I don't need the brute force required for molecular dynamics, quantum mechanics, heavy-duty fluid mechanics or the like.
So my needs are much more modest; a long execution time for me on my dual machine without any particular care given to code optimization is 8 hours. Most of my code executes in a few minutes to a half hour or so using the gnu compiler collection. Still, the Intel family generally seems to shave off 30 or 40% of the time even if not much care is given. They seem to be good products.
What has held me back from examining the Intel family is that my application is commercial, and shaving the bit of time from problems that are not really that large did not seem like it was worth the money for a commercial license. An evaulation license has a time limit (so that's not worth it) and I could not in good conscience use it under a non-commercial license.
BTW, I know people who do serious molecular dynamics calculations (where each trial takes about a month on a modern, standard uniprocessor box) that know next to nothing about CPU architecture, instruction sets and compiler optimization (or even about the range of compilers that are available). They just buy a half-dozen boxes and let them run. So daily use of something is not the same as enjoying and understanding them.
Back to your original problem, I'd suggest you set up a dual boot system to evaluate PC-BSD to make sure everything works for you. Spare disks are dirt cheap these days; 40 GB would be more than plenty to get started. It seems that you are in the UK, so that would raise prices a bit, but even in that case I'd be surprised if it would cost you more than $30 for a suitable drive if you keep your eyes open.
As I mentioned, I'd be surprised if ifc would not work for you on PC-BSD/FreeBSD, but I've been surprised before and undoubtedly will be again.
DrJ
Yeah I use it for MD, your run times are very reasonable 8 hrs, just for contrast I have run simulations using 16 CPUs for 9 months non stop :shock: , so to me time saving is crucial
you may need to buy the commercial licence, for us work take cares of the licences, don't know the deal they have. But for my own personal projects which don't make money I use the free one, in fact I would suggest you try the free one and play aroung with the vectorisation and pgo bit.
I will install pc-bsd on an old pc p3 600, 256 ram and see how it goes. Currently I have filled all the drive bays on my primary workstation and my other pc is a laptop, so a bit of a problem risking spoiling the win/linux dual boot setup :roll:
In any case if you have an AMD and Intel compiler, then you can sell your product with 2 binaries with the installer taking care of what to install! Again for small run time jobs its not worth spending money as you may not gain it.
Oh yes I am from the UK
Yeah I use it for MD, your run times are very reasonable 8 hrs, just for contrast I have run simulations using 16 CPUs for 9 months non stop :shock: , so to me time saving is crucial
you may need to buy the commercial licence, for us work take cares of the licences, don't know the deal they have. But for my own personal projects which don't make money I use the free one, in fact I would suggest you try the free one and play aroung with the vectorisation and pgo bit.
I will install pc-bsd on an old pc p3 600, 256 ram and see how it goes. Currently I have filled all the drive bays on my primary workstation and my other pc is a laptop, so a bit of a problem risking spoiling the win/linux dual boot setup :roll:
In any case if you have an AMD and Intel compiler, then you can sell your product with 2 binaries with the installer taking care of what to install! Again for small run time jobs its not worth spending money as you may not gain it.
Oh yes I am from the UK
The P3 machine should be fine to get a taste of the system and to determine compatibility with ifc, but it will be slow, both because of the CPU and the limited memory and becasue KDE is so large and bulky. I would think it would be a good return on a small investment, though, because it will take some time to switch over a system from Linux to PC-BSD. I'd think your time is worth something.
An ifc license is about $700 for the base compiler; add-on packages are a few hundred a piece. While that is reasonable, money is extremely scarce at the moment and will be so for the next few months. I may look at the terms of the evaulation license for an eventual purchase; I simply will not take the risk of encumbering anything I develop with licensing issues. I would literally lose my shirt after my investors find out.
A 9-month MD simulation must contain a rather large number of molecules, sophisticated interaction or association rules, or both. I'm glad I stick to smaller problems!
DrJ
henryz
06-29-2005, 11:58 PM
H'mm - you guys are doing so really heavy-duty stuff. I can't say how the INtel compilers work on FBSD, but I've had good luck with them on Linux systems. It's even possible to build a Linux kernel with icc and it performs well. I'm wondering if you could build a FBSD kernel with the Intel compiler and how it would perform.
It has been done. See, for example,
http://lists.freebsd.org/pipermail/free ... 01462.html (http://lists.freebsd.org/pipermail/freebsd-arch/2003-November/001462.html)
and the subsequent articles in the thread. FWIW, the FreeBSD team does have a commercial icc license, and would love to do the port of the source to FreeBSD. Intel does not seem too interested...
DrJ
Turns out there is direct FreeBSD support for building kernels using icc. From the FreeBSD cvs-src summary for 07/03/04 to 14/03/04:
Intel C compiler support added for kernel building
Tom Rhodes (trhodes) committed support for using Intel's icc C compiler to build the kernel. Intel's compiler tends to generate significantly faster code than gcc. Currently, this only works properly with icc 7; kernels built with icc 8 still have serious problems.
http://docs.freebsd.org/cgi/mid.cgi?200 ... aCm9096276 (http://docs.freebsd.org/cgi/mid.cgi?200403122136.i2CLaCm9096276)
http://docs.freebsd.org/cgi/mid.cgi?200 ... jXYo098770 (http://docs.freebsd.org/cgi/mid.cgi?200403122145.i2CLjXYo098770)
Before undertaking such an experiment, I suggest doing more research...
DrJ
vBulletin® v3.8.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.