compilateurs

Pour tirer pleinement parti des performances de SCALAR il faut utiliser les compilateurs Intel installés sur la machine :


 * Fortran 77, Fortran 95/90 : ifort - [|documentation]
 * C, C++ : icc - [|documentation]

L'option -mcmodel permet d'accèder à la totalité de la mémoire de la machine à partir de votre application Fortran.

-mcmodel tells the compiler to use a specific memory model to generate code and store data on Intel® 64 architecture

Linux: -mcmodel=mem_model Mac OS X: None Windows: None
 * Syntax**

mem_model Is the memory model to use. Possible values are:
 * Arguments**
 * small Tells the compiler to restrict code and data to the first 2GB of address space. All accesses of code and data can be done with
 * Instruction Pointer (IP)-relative addressing.
 * medium Tells the compiler to restrict code to the first 2GB; it places no memory restriction on data. Accesses of code can be done with IP-relative addressing, but accesses of data must be done with absolute addressing.
 * large Places no memory restriction on code or data. All accesses of code and data must be done with absolute addressing.

-mcmodel=small
 * Default**

On systems using Intel® 64 architecture, the compiler restricts code and data to the first 2GB of address space. Instruction Pointer (IP)-relative addressing can be used to access code and data.

This option tells the compiler to use a specific memory model to generate code and store data. It can affect code size and performance. If your program has COMMON blocks and local data with a total size smaller than 2GB, -mcmodel=small is sufficient. COMMONs larger than 2GB require -mcmodel=medium or -mcmodel=large. Allocation of memory larger than 2GB can be done with any setting of -mcmodel. IP-relative addressing requires only 32 bits, whereas absolute addressing requires 64-bits. IP-relative addressing is somewhat faster. So, the small memory model has the least impact on performance.
 * Description**

When you specify -mcmodel=medium or -mcmodel=large, you must also specify compiler option -shared-intel to ensure that the correct dynamic versions of the Intel run-time libraries are used. When shared objects (.so files) are built, position-independent code (PIC) is specified so that a single .so file can support all three memory models. The compiler driver adds compiler option -fpic to implement PIC. However, you must specify a memory model for code that is to be placed in a static library or code that will be linked statically.
 * Note**

shared-intel compiler option fpic compiler option
 * See Also**