ABAQUS – Compilateur Fortran Intel OneAPI

ABAQUS – Compilateur Fortran Intel OneAPI pour vos subroutines sous Windows

 

DASSAULT SYSTEMES a publié un article dans sa base de connaissance expliquant comment installer le compilateur Intel OneAPI et le coupler avec ABAQUS.

 

Dans la QA00000069459 de la Knowledge Base, DASSAULT SYSTEMES explique comment utiliser le compilateur Intel OneAPI pour compiler des subroutines avec ABAQUS 2021, mais compatible également d’après nos tests à partir de la version 2018.

 

L’article rappelle que cette version du compilateur n’est pas officiellement supportée, mais sa simplicité d’installation peut s’avérer intéressante, ne serait-ce que pour faire un test. Au vu des demandes récurrentes sur le sujet, nous avons décidé de faire un gros plan sur cet article.

 

Notez avant toute chose, que lors de l’installation d’Abaqus (antérieure ou postérieure au Compilateur), il faut impérativement installer le CAA API.

 

 

Ceci étant, pour installer le compilateur, il faut télécharger 3 composants et les installer dans l’ordre :

1- Microsoft Visual Studio 2017 or 2019 : https://visualstudio.microsoft.com/downloads/ 

2- Intel oneAPI Base Toolkit : https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html

3- Intel oneAPI HPC Toolkit : https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html

 

Lorsque vous installez Visual Studio 2017 ou 2019, vous n’avez besoin de que de l’élément “Desktop development with C++”.

 

 

Après l’installation du Visual Studio, il est nécessaire de faire redémarrer l’ordinateur.

 

Concernant l’installation de oneAPI Base Toolkit, les paramètres par défaut fonctionnent. Nous n’avons pas testé la personnalisation.

 

 

Le oneAPI Base Toolkit détecte automatiquement la ou les versions de Visual Studio installées (compatibilité 2017 et 2019).

 

 

Quand l’installation est finie (Il vous propose Get started Guide ou Modify), fermer la fenêtre.

 

Pour le Intel oneAPI HPC Toolkit, les paramètres par défaut sont fonctionnels.

 

 

Quand l’installation est finie (Il vous propose Get started Guide ou Modify), fermer la fenêtre.

 

 

Modification d’Abaqus :

 

Suite à un bug d’Intel oneAPI, il vous faut créer un abaqus_v6.env dans votre Home directory (par défaut, C:\users\user_name) ou le modifier si vous en avez déjà un :

 

compile_fortran += ['/names:lowercase',]

link_sl='LINK /NODEFAULTLIB:LIBCMT.LIB /dll /def:%E /out:%U %F %A %L %B'

 

 

La deuxième ligne n’est pas forcément nécessaire. Vous pouvez tester en la commentant (avec le caractère # placé devant).

 

Attention cette modification impacte l’ensemble de vos installations Abaqus. Si vous souhaitez lier oneAPI uniquement avec une version spécifique d’ABAQUS, merci d’ajouter ces lignes à la fin du fichier custom_V6.env. Ce fichier est localisé par défaut dans :

  • Version 2021 : C:\SIMULIA\EstProducts\2021\win_b64\SMA\site
  • Version 2020 : C:\SIMULIA\EstProducts\2020\win_b64\SMA\site
  • Version 2019 : C:\Program Files\Dassault Systemes\SimulationServices\V6R2019x\win_b64\SMA\site
  • Version 2018: C:\Program Files\Dassault Systemes\SimulationServices\V6R2018x\win_b64\SMA\site

 

Il y a maintenant un script définissant des variables d’environnement à lancer pour assurer le couplage. Le plus simple à faire est de modifier le fichier .bat qui lance abaqus. Pour la version 2021hf4, nous avons modifié ainsi le .bat (qui se situe dans le répertoire C:\Simulia\Commands par défaut)

 

@echo off

call « C:\Program Files (x86)\Intel\oneAPI\setvars.bat »

setlocal

set ABA_COMMAND=%~nx0

set ABA_COMMAND_FULL=%~f0

« C:\DS\EstProducts\2021\win_b64\code\bin\ABQLauncher.exe » %*

endlocal

 

 

Le fichier setvars.bat se situe dans le répertoire C:\Program Files (x86)\Intel\oneAPI\ si vous avez suivi l’installation par défaut.

 

Une fois cela fait, vous pouvez ouvrir une fenêtre de commande dos (cmd), vous placer dans un répertoire où vous avez les droits d’écriture et taper la commande :

 

abaqus verify -all

 

et vérifier que l’ensemble des tests avec « subroutines » et « make utility » passent bien.

 

 

 

La version d’Abaqus lancée est la dernière installée (il faut donc avoir modifié le bon fichier .bat, si vous avez plusieurs versions, par exemple abq2019HF3).

 

Le test mené en interne a permis la réussite de la compilation sur les versions 2018, 2019, 2020 et 2021.

En revanche, le compilateur installé avec Visual Studio 2019 n’est pas compatible avec Abaqus 2017 et les versions antérieures.

 

Nous vous recommandons la lecture de la QA00000069459, accessible avec un compte Dassault Systèmes lié à votre société ou établissement.

 

N’hésitez pas à revenir vers nous et à consulter l’ensemble de nos articles sur notre base de connaissance.