Intel and Microsoft worked together to make their products compatible by adopting a common runtime called the Microsoft Concurrency Runtime, which is part of Visual Studio 2010. On, Intel announced that it had released the product to market. Intel announced Parallel Studio during their Intel Developer Forum in August 2008 along with a web site to sign up for their open beta program. Intel Distribution for Python – a Python distribution using Intel Performance libraries to boost performance of NumPy, SciPy, scikit-learn, Pandas (software) and other packages.They are accessible via API to embed capabilities into applications. Intel Cluster Checker – Prepackaged checks to diagnose cluster health, functionality and performance.Intel Trace Analyzer and Collector - a graphical tool for understanding MPI application behavior, finding bottlenecks and errors in parallel cluster applications based on Intel architecture.Intel MPI Library – a multi-fabric message passing library that implements the Message Passing Interface specification across Intel platforms.Intel Inspector improves reliability by identifying memory errors and threading errors.Intel VTune Profiler (formerly VTune Amplifier) is a performance profiler that analyzes hotspots, threading, I/O, FPGA, GPU, system, throttling and microarchitecture bottlenecks.Intel Advisor - specialized performance profiler to optimize vectorization and a thread prototyping system for adding / improving threading.Data Analytics Acceleration Library (DAAL).Integrated Performance Primitives (IPP).
The course makes use of several examples programs that are all available for download from this website.
I have rewritten the course for delivery via web pages, but it can also be downloaded in PDF format if you prefer. The course was originally given as seven one-hour "hands on" programming sessions for second year mathematics and engineering undergraduates. This short course assumes no previous programming knowledge whatsoever, and all the terms will be explained in the worksheets. Some of the terms I am using like "IDE" may also be meaningless to you, at this stage. It is very likely that if you have come to this site, you may well be inexperienced with programming in general and with FORTRAN in particular.
How to use this courseīefore you start the course, you should install the compiler.This is described in Worksheet 1. For a good list of compilers I suggest you check. In suggesting that you use Silverfrost, I am in no way suggesting that it is in any way superior to other FORTRAN compilers that are on the market.
The supplied library provides a wealth of high level subroutines and functions such as data sorting routines, serial communications, random numbers, and many more.
It comes with a built in debugger so you can check your code for errors at run time. I recommend it because it is very easy to use and install. There are several free compilers and integrated developer environments available, but I have many years experience of the Silverfrost FORTRAN compiler, and PLATO IDE. The examples will compile perfectly well with FORTRAN 90 or 95.
As this is a beginner's guide I have focussed on the core language.
There are libraries of numerical algorithms available that shortcut coding. The precision of calculation can be selected according to the need of the calculation. It is particularly useful for scientists and engineers as there are inbuilt functions for handling mathematical constructs such as matrices. It’s a good language for beginners as it is easy to learn and widely available. I have chosen FORTRAN for a number of reasons. I'm focussing on programming best practice - this is not intended to be an in-depth study of FORTRAN. Once you have a firm concept of what programming is all about you will find it easy to learn other languages. My experience is that most people who need to write computer programs know several languages, and often these are self taught. The emphasis in this course is to learn how to program rather than to learn FORTRAN. This FORTRAN study guide is a "hands on" introduction to programming using FORTRAN.