<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>fortran | Dr. Ravindra Shinde</title>
    <link>https://neelravi.com/category/fortran/</link>
      <atom:link href="https://neelravi.com/category/fortran/index.xml" rel="self" type="application/rss+xml" />
    <description>fortran</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en</language><copyright>© 2023 Dr. Ravindra Shinde</copyright><lastBuildDate>Fri, 03 Dec 2021 08:41:00 +0000</lastBuildDate>
    <image>
      <url>https://neelravi.com/media/icon_hucf8c2532d5d18a43662e10b6be4ed7fd_40234_512x512_fill_box_center_2.png</url>
      <title>fortran</title>
      <link>https://neelravi.com/category/fortran/</link>
    </image>
    
    <item>
      <title>Install and manage Intel oneAPI compiler and component tools using environment modules</title>
      <link>https://neelravi.com/post/intel-oneapi-modules/</link>
      <pubDate>Fri, 03 Dec 2021 08:41:00 +0000</pubDate>
      <guid>https://neelravi.com/post/intel-oneapi-modules/</guid>
      <description>&lt;p&gt;Intel has recently changed their business model. Their suite of compilers, debuggers, toolkits, and libraries are given
free of cost for personal or academic use. In an earlier post, I explained how to install them on Ubuntu linux and activate all the softwares using a single source command.&lt;/p&gt;
&lt;p&gt;In this post, I will show you how to manage these compilers, libraries, and debuggers using the environment modules. So just using &amp;ldquo;&lt;code&gt;module load icc&lt;/code&gt;&amp;rdquo; you could activate a single &amp;ldquo;&lt;code&gt;icc&lt;/code&gt;&amp;rdquo; compoment. All the dependent modules will also be loaded automatically, if you follow the these steps.&lt;/p&gt;
&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites&lt;/h2&gt;
&lt;p&gt;Make sure that you have the following packages already installed on your ubuntu machine.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;environment modules (i.e. the &lt;code&gt;module&lt;/code&gt; command)&lt;/li&gt;
&lt;li&gt;Intel oneapi basekit and/or hpckit (I am repeating the steps below)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;intel-repository-public-key&#34;&gt;Intel Repository Public Key&lt;/h2&gt;
&lt;p&gt;Get the Intel Repository public key and add it to your apt sources keyring so the packages will be trusted by ubuntu.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# use wget to fetch the Intel repository public key
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# add to your apt sources keyring so that archives signed with this key will be trusted.
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# remove the public key
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;configure-apt-client-to-use-intel-repository&#34;&gt;Configure apt client to use Intel repository&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apt.repos.intel.com/oneapi all main&amp;quot; | sudo tee /etc/apt/sources.list.d/oneAPI.list&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo add-apt-repository &amp;quot;deb https://apt.repos.intel.com/oneapi all main&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;install-all-the-packages-or-selected-packages&#34;&gt;Install all the packages or selected packages.&lt;/h2&gt;
&lt;h3 id=&#34;all-basic-compilers-fortran-c-c-and-python&#34;&gt;All basic compilers (Fortran, C, C++, and Python)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-basekit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;hpc-toolkits&#34;&gt;HPC toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-hpckit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;iot-internet-of-things-toolkits&#34;&gt;IoT (internet of things) toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-iotkit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;ai-artificial-intelligence-analytics-toolkits&#34;&gt;AI (Artificial Intelligence) analytics toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-aikit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;rendering-toolkit&#34;&gt;Rendering toolkit&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-renderkit&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;after-installation&#34;&gt;After Installation&lt;/h2&gt;
&lt;p&gt;After you have installed the oneAPI kits, they can be activated using the following command written in the &lt;code&gt;~/.bashrc&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id=&#34;option-1-activate-all-the-components-at-once-for-all-users-root-access&#34;&gt;Option 1: Activate all the components at once for all users (root access)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;. /opt/intel/oneapi/setvars.sh&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;option-2-activate-individual-components-using-the-environment-modules&#34;&gt;Option 2: Activate individual components using the environment modules&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;cd /opt/intel/oneapi/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You will see a &lt;code&gt;modulefiles-setup.sh&lt;/code&gt; file. If we execute this file using bash it will create a folder named &lt;code&gt;modulefiles&lt;/code&gt; in the same &lt;code&gt;/opt/intel/oneapi/&lt;/code&gt; folder.&lt;/li&gt;
&lt;li&gt;Put the following line into your &lt;code&gt;$HOME/.bashrc&lt;/code&gt; file
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;export MODULEPATH=${MODULEPATH}:/opt/intel/oneapi/modulefiles&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;. $HOME/.bashrc&lt;/code&gt; or close and reopen the terminal&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;If you type &lt;code&gt;module avail&lt;/code&gt;, you will see all the components of Intel oneapi available for use.&lt;/li&gt;
&lt;li&gt;You can load or unload individual components using &lt;code&gt;module load icc&lt;/code&gt; or &lt;code&gt;module load compiler&lt;/code&gt; etc.&lt;/li&gt;
&lt;li&gt;You can create your own module file and put it in the &lt;code&gt;modulefiles folder&lt;/code&gt;. Let us create a modulefile for intel python.&lt;/li&gt;
&lt;li&gt;Copy the following content into a file &lt;code&gt;/opt/intel/oneapi/modulefiles/python/latest&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;    #%Module1.0###################################################################
    set min_tcl_ver 8.4
    if { $tcl_version &amp;lt; $min_tcl_ver } {
        puts stderr &amp;quot; &amp;quot;
        puts stderr &amp;quot;ERROR: This modulefile requires tcl $min_tcl_ver or greater.&amp;quot;
        puts stderr &amp;quot;Your system reports that tclsh version $tcl_version is installed.&amp;quot;
        exit 1
    }

    proc ModulesHelp { } {
            puts stderr &amp;quot;\tAdds Intel Python 3 to your PATH environment variable\n&amp;quot;
    }

    module-whatis   &amp;quot;adds Intel Python 3 to your PATH environment variable&amp;quot;

    prepend-path    PATH    /opt/intel/oneapi/intelpython/latest/bin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Check the installed packages using &lt;code&gt;module avail&lt;/code&gt;, check the loaded packages using &lt;code&gt;module list&lt;/code&gt;, unload packages using &lt;code&gt;module unload packagename&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to use Intel oneapi compilers on the Github actions workflow</title>
      <link>https://neelravi.com/post/oneapi-github-workflow/</link>
      <pubDate>Sat, 03 Jul 2021 11:51:00 +0000</pubDate>
      <guid>https://neelravi.com/post/oneapi-github-workflow/</guid>
      <description>&lt;p&gt;Intel has recently changed their business model. Their suite of compilers, debuggers, toolkits, and libraries are given
free of cost for personal or academic use. We can also use these compilers on the Github Actions workflow. This post gives details of the steps and a yml file which you can directly use on your Github repository to kick the automatic compilation and testing.&lt;/p&gt;
&lt;h2 id=&#34;step-1&#34;&gt;Step 1&lt;/h2&gt;
&lt;p&gt;Create a file with any name (but with a .yml extention) in the .github/workflows directory in your repository.
If you want to use the Github website to create the action&amp;rsquo;s file, then&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;click actions&lt;/li&gt;
&lt;li&gt;create new workflow&lt;/li&gt;
&lt;li&gt;setup a workflow by yourself&lt;/li&gt;
&lt;li&gt;Copy paste the following content&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&#34;language-yml&#34;&gt;name: Intel OneAPI build

on:
  push:
    branches: [main, master]
  pull_request:
    branches: [main, master]
jobs:
  build_intel_champ_fparser:
    runs-on: ubuntu-20.04
    defaults:
      run:
        shell: bash --noprofile --norc {0}
    steps:
    - uses: actions/checkout@v2
    - name: setup repo
      run: |
        wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
        sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
        rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
        sudo echo &amp;quot;deb https://apt.repos.intel.com/oneapi all main&amp;quot; | sudo tee /etc/apt/sources.list.d/oneAPI.list
        sudo apt-get update
    - name: install
      run: |
        sudo apt-get install -y intel-oneapi-common-vars
        sudo apt-get install -y intel-oneapi-compiler-fortran
        sudo apt-get install -y intel-oneapi-mkl
        sudo apt-get install -y intel-oneapi-mpi
        sudo apt-get install -y intel-oneapi-mpi-devel

    - name: Compile
      run: |
        source /opt/intel/oneapi/setvars.sh
        printenv &amp;gt;&amp;gt; $GITHUB_ENV
        ifort test.f90 -o test_program
        mpiifort test2.f90 -o mpitest

    - name: &amp;quot;Test the code&amp;quot;
      run: |
        echo &amp;quot;Running the tests using the Intel oneapi fortran compiler&amp;quot;
        cd tests/test01
        mpirun -np 1  $HOME/work/reponame/reponame/mpitest
        ./$HOME/work/reponame/reponame/test_program
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that entire &lt;code&gt;oneapi-basekit&lt;/code&gt; is not needed (and exceeds github&amp;rsquo;s docker size alloted to each user). Install the components as needed for your project and don&amp;rsquo;t forget to use &amp;ldquo;&lt;code&gt;-y&lt;/code&gt;&amp;rdquo; option while installing using &lt;code&gt;apt install&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Installation of Intel oneAPI suite of compilers on Ubuntu Linux</title>
      <link>https://neelravi.com/post/intel-oneapi-install/</link>
      <pubDate>Wed, 26 May 2021 22:51:00 +0000</pubDate>
      <guid>https://neelravi.com/post/intel-oneapi-install/</guid>
      <description>&lt;p&gt;Intel has recently changed their business model. Their suite of compilers, debuggers, toolkits, and libraries are given
free of cost for personal or academic use. Here I explain how to install them on Ubuntu linux. All of these softwares are
activated using a single source command.&lt;/p&gt;
&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites&lt;/h2&gt;
&lt;p&gt;Make sure that you have the following packages already installed on your ubuntu machine.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;cmake&lt;/li&gt;
&lt;li&gt;pkg-config&lt;/li&gt;
&lt;li&gt;build-essential&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If they are not installed, you can install using the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;sudo apt update
sudo apt -y install cmake pkg-config build-essential
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;intel-repository-public-key&#34;&gt;Intel Repository Public Key&lt;/h2&gt;
&lt;p&gt;Get the Intel Repository public key and add it to your apt sources keyring so the packages will be trusted by ubuntu.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# use wget to fetch the Intel repository public key
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# add to your apt sources keyring so that archives signed with this key will be trusted.
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# remove the public key
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;configure-apt-client-to-use-intel-repository&#34;&gt;Configure apt client to use Intel repository&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apt.repos.intel.com/oneapi all main&amp;quot; | sudo tee /etc/apt/sources.list.d/oneAPI.list&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo add-apt-repository &amp;quot;deb https://apt.repos.intel.com/oneapi all main&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;install-all-the-packages-or-selected-packages&#34;&gt;Install all the packages or selected packages.&lt;/h2&gt;
&lt;h3 id=&#34;all-basic-compilers-fortran-c-c-and-python&#34;&gt;All basic compilers (Fortran, C, C++, and Python)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-basekit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;hpc-toolkits&#34;&gt;HPC toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-hpckit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;iot-internet-of-things-toolkits&#34;&gt;IoT (internet of things) toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-iotkit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;ai-artificial-intelligence-analytics-toolkits&#34;&gt;AI (Artificial Intelligence) analytics toolkits&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-aikit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;rendering-toolkit&#34;&gt;Rendering toolkit&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt install intel-renderkit&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;after-installation&#34;&gt;After Installation&lt;/h2&gt;
&lt;p&gt;After you have installed the oneAPI kits, they can be activated using the following command written in the &lt;code&gt;~/.bashrc&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id=&#34;for-all-users-root-access&#34;&gt;For all users (root access)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;. /opt/intel/oneapi/setvars.sh&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;for-single-user&#34;&gt;For single user&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;. ~/intel/oneapi/setvars.sh&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Octopus TDDFT code installation on the comet cluster at XSEDE, San Diego</title>
      <link>https://neelravi.com/post/octopus-xsede/</link>
      <pubDate>Thu, 21 Nov 2019 18:46:00 +0000</pubDate>
      <guid>https://neelravi.com/post/octopus-xsede/</guid>
      <description>&lt;h2 id=&#34;load-modules&#34;&gt;Load Modules:&lt;/h2&gt;
&lt;p&gt;I chose Intel compiler and intelmpi to compile the mpi version of octopus on Comet (after the Rocks OS upgrade to Rocks 7).&lt;/p&gt;
&lt;p&gt;The following modules need to be loaded first.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;intel/2018.1.163&lt;/li&gt;
&lt;li&gt;intelmpi/2018.1.163&lt;/li&gt;
&lt;li&gt;gsl/2.5&lt;/li&gt;
&lt;li&gt;mkl/2018.1.163&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;install-dependencieslibraries&#34;&gt;Install dependencies/libraries:&lt;/h2&gt;
&lt;h3 id=&#34;install-libxc-434-or-above&#34;&gt;Install libxc-4.3.4 or above&lt;/h3&gt;
&lt;p&gt;Download the latest package of libxc. Use the following configure line:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure --prefix=/home/neelravi CC=mpicc FC=mpif90 FCFLAGS=-O3 CFLAGS=-O3
make 
make install
make check
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;install-fftw-338-or-above&#34;&gt;Install fftw-3.3.8 or above&lt;/h3&gt;
&lt;p&gt;Do not use the pre-installed fftw package.
Download the latest fftw package. Use the following configure line to compile.&lt;/p&gt;
&lt;p&gt;I chose fftw-3.3.8.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure --prefix=/home/neelravi CC=mpicc CFLAGS=-O3 F77=mpif90 F77FLAGS=-O3
make 
make install
make check
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;install-octopus-code&#34;&gt;Install octopus code&lt;/h3&gt;
&lt;p&gt;Download the stable version of the octopus. (i.e. octopus 9.1)
Use the following configure script.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure --prefix=$HOME \
  CC=mpicc FC=mpif90 CFLAGS=&amp;quot;-O3&amp;quot; FCFLAGS=&amp;quot;-O3&amp;quot; \
--enable-mpi --enable-openmp \
--with-blas=&amp;quot;-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm -ldl&amp;quot; \
--with-libxc-prefix=$HOME \
--with-fftw-prefix=$HOME \
--with-blacs=&amp;quot;-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm -ldl&amp;quot; \
--with-scalapack=&amp;quot;-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm -ldl&amp;quot; \
--with-gsl-prefix=&amp;quot;/opt/gsl/2.5/intel&amp;quot;

make 
make install
make check
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The last command &lt;code&gt;make check&lt;/code&gt; should either pass or fail all the tests. If some tests pass and some fail, then there is something wrong with the installation. Please note that a test corresponding to the glib may fail (probably this is used when Species are read from the picture file). You may ignore it.&lt;/p&gt;
&lt;p&gt;Run a sample calculation with more than one node. The output file should show the parallelization and anticipated resource wastage.&lt;/p&gt;
&lt;p&gt;Your octopus is ready!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Octopus TDDFT code installation on the XC40 Cray supercomputer</title>
      <link>https://neelravi.com/post/octopus-cray/</link>
      <pubDate>Thu, 06 Jul 2017 13:00:00 +0000</pubDate>
      <guid>https://neelravi.com/post/octopus-cray/</guid>
      <description>&lt;h2 id=&#34;load-modules-in-the-prgenv-gnu&#34;&gt;Load Modules in the PrgEnv-gnu:&lt;/h2&gt;
&lt;p&gt;I managed to install octopus in gnu programming environment with the following settings:&lt;/p&gt;
&lt;p&gt;Modules loaded in the PrgEnv-gnu&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;modules/3.2.10.5&lt;/li&gt;
&lt;li&gt;nodestat/2.2-1.0502.60539.1.31.ari&lt;/li&gt;
&lt;li&gt;sdb/1.1-1.0502.63652.4.25.ari&lt;/li&gt;
&lt;li&gt;alps/5.2.4-2.0502.9822.32.1.ari&lt;/li&gt;
&lt;li&gt;lustre-cray_ari_s/2.5_3.0.101_0.46.1_1.0502.8871.20.1-1.0502.21538.30.1&lt;/li&gt;
&lt;li&gt;udreg/2.3.2-1.0502.10518.2.17.ari&lt;/li&gt;
&lt;li&gt;ugni/6.0-1.0502.10863.8.29.ari&lt;/li&gt;
&lt;li&gt;gni-headers/4.0-1.0502.10859.7.8.ari&lt;/li&gt;
&lt;li&gt;dmapp/7.0.1-1.0502.11080.8.76.ari&lt;/li&gt;
&lt;li&gt;xpmem/0.1-2.0502.64982.5.3.ari&lt;/li&gt;
&lt;li&gt;hss-llm/7.2.0&lt;/li&gt;
&lt;li&gt;Base-opts/1.0.2-1.0502.60680.2.4.ari&lt;/li&gt;
&lt;li&gt;gcc/6.1.0&lt;/li&gt;
&lt;li&gt;craype/2.5.7&lt;/li&gt;
&lt;li&gt;nodehealth/5.1-1.0502.65826.9.1.ari&lt;/li&gt;
&lt;li&gt;cray-libsci/16.09.1&lt;/li&gt;
&lt;li&gt;pmi/5.0.10-1.0000.11050.0.0.ari&lt;/li&gt;
&lt;li&gt;atp/2.0.2&lt;/li&gt;
&lt;li&gt;PrgEnv-gnu/5.2.82&lt;/li&gt;
&lt;li&gt;pbs/12.2.404.152084&lt;/li&gt;
&lt;li&gt;cray-parallel-netcdf/1.7.0&lt;/li&gt;
&lt;li&gt;cray-netcdf-hdf5parallel/4.4.1&lt;/li&gt;
&lt;li&gt;cray-hdf5-parallel/1.8.16&lt;/li&gt;
&lt;li&gt;fftw/3.3.4.10&lt;/li&gt;
&lt;li&gt;craype-network-aries&lt;/li&gt;
&lt;li&gt;craype-haswell&lt;/li&gt;
&lt;li&gt;cce/8.5.3&lt;/li&gt;
&lt;li&gt;cray-shmem/7.4.3&lt;/li&gt;
&lt;li&gt;cray-mpich/7.4.3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The LD LIBRARY PATH had following things in the path:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/opt/gcc/6.1.0/snos/lib64:/opt/cray/nodehealth/5.1-1.0502.65826.9.1.ari/lib64 /opt/cray/fftw/3.3.4.10/haswell/lib:/opt/cray/hdf5-parallel/1.8.16/GNU/5.1/lib:/opt/cray/netcdf-hdf5parallel/4.4.1/GNU/5.1/lib:/opt/cray/parallel-netcdf/1.7.0/GNU/5.1/lib:/opt/cray/pmi/5.0.10-1.0000.11050.0.0.ari/lib64:/opt/cray/libsci/16.09.1/GNU/5.1/x86_64/lib:/opt/cray/xpmem/0.1-2.0502.64982.5.3.ari/lib64:/opt/cray/dmapp/7.0.1-1.0502.11080.8.76.ari/lib64:/opt/cray/ugni/6.0-1.0502.10863.8.29.ari/lib64:/opt/cray/udreg/2.3.2-1.0502.10518.2.17.ari/lib64:/opt/cray/alps/5.2.4-2.0502.9822.32.1.ari/lib64&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;the configure script looks like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;set LD_LIBRARY_PATH=($LD_LIBRARY_PATH $CRAY_LD_LIBRARY_PATH)
setenv LIBS_BLAS /opt/cray/libsci/16.09.1/GNU/5.1/x86_64/lib/libsci_gnu_mpi_mp.a
setenv LIBS_LAPACK /opt/cray/libsci/16.09.1/GNU/5.1/x86_64/lib/libsci_gnu_mpi_mp.a
setenv LIBS_FFT /opt/cray/fftw/3.3.4.10/haswell/lib/libfftw3.a

./configure  --prefix=/mnt/lustre/mrc2/mrcravi/devel-basedir-test  \
--with-libxc-prefix=/mnt/lustre/mrc2/mrcravi/devel-basedir  \
--with-libxc-include=/mnt/lustre/mrc2/mrcravi/devel-basedir/include \
--with-gsl-prefix=/mnt/lustre/mrc2/mrcravi/devel-basedir \
--with-fftw-prefix=/opt/cray/fftw/3.3.4.10/haswell \
--enable-openmp --enable-mpi --host=cray

make -j 24
make install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The above script is for minimum working example. I managed to couple &lt;code&gt;etsf&lt;/code&gt;, &lt;code&gt;netcdf&lt;/code&gt;, &lt;code&gt;hdf5&lt;/code&gt; etc to octopus.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Install ETSF-IO libray on Cray XC40 supercomputer</title>
      <link>https://neelravi.com/post/etsf-cray/</link>
      <pubDate>Wed, 30 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://neelravi.com/post/etsf-cray/</guid>
      <description>&lt;h2 id=&#34;requirements&#34;&gt;Requirements:&lt;/h2&gt;
&lt;p&gt;ETSF IO library requires hdf5 and netcdf libraries. You can load them using the &lt;code&gt;module load&lt;/code&gt; commands.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;module load cray-parallel-netcdf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;module load cray-netcdf-hdf5parallel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The path of the installed modules can be viewed using &lt;code&gt;module show cray-parallel-netcdf&lt;/code&gt; command.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Configure:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure FC=ftn --prefix=installation-path \
--with-netcdf-libs=&amp;quot;-L/opt/cray/parallel-netcdf/1.7.0/cray/8.3/lib -lnetcdff -lnetcdf&amp;quot; \
--with-netcdf-incs=&amp;quot;-I/opt/cray/parallel-netcdf/1.7.0/cray/8.3/include&amp;quot; \
LDFLAGS=&amp;quot;-L/opt/cray/parallel-netcdf/1.7.0/cray/8.3/lib&amp;quot; \
LIBS=&amp;quot;-lnetcdff -lnetcdf&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;compile&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Install&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Install netcdf and netcdf-fortran required for ETSF-IO libray and octopus code</title>
      <link>https://neelravi.com/post/install-netcdf/</link>
      <pubDate>Thu, 03 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://neelravi.com/post/install-netcdf/</guid>
      <description>&lt;h2 id=&#34;for-installation-of-netcdf&#34;&gt;For installation of netcdf&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Configure:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure CC=icc --prefix=&amp;quot;/opt/etsf&amp;quot; \
--enable-static --enable-shared --disable-dap \
LT_SYS_LIBRARY_PATH=&amp;quot;/opt/etsf/lib&amp;quot; \
LDFLAGS=&amp;quot;-L/opt/etsf&amp;quot; \
--disable-netcdf-4
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;compile&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Install&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Check the installation&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make check&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;for-installation-of-netcdf-fortran&#34;&gt;For installation of netcdf-fortran&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Configure:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;./configure FC=ifort CC=icc \
--prefix=&amp;quot;/opt/etsf&amp;quot; \
CPPFLAGS=&amp;quot;-I/opt/etsf/include&amp;quot; \
CPPFLAGS=&amp;quot;-I/opt/include&amp;quot; \
LDFLAGS=&amp;quot;-L/opt/lib&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;compile&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Install&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Check the installation&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;make check&lt;/code&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
