Vasp

TRUBA Wiki Sayfası sitesinden

Git ve: kullan, ara

VASP 5.4'in derlenmesi

Vasp kodunda yapılan son geliştirmelerle Vasp5.3'ün ve Vasp5.4'ün TRUBA altyapısında derlenmesi oldukça kolaylaşmıştır.

Öncelikle Vasp için derleme ortamı hazılanır.
 
$>mkdir derleme
$>cp vasp.5.lib.tar.gz derleme/
$>cp vasp.5.4.tar.gz
$>cd derleme
Arşiv dosyaları açılır..
$>tar -zxvf vasp.5.lib.tar.gz
$>tar -zxvf vasp.5.4..tar.gz

Intel Parallel Studio'nun güncel versiyonu load edilir.

$>source /truba/sw/centos7.3/comp/intel/PS2018-update2/bin/compilervars.sh intel64

Vasp.5.lib/makefile.linux_ifc_P4 dosyası düzenlenerek FC=ifc satırı FC=ifort ile değişdirilir ve dosya makefile adı ile kaydedilir. Make komutu ile derleme gerçekleştirilir.

$>cd vasp.5.lib
$>nano makefile.linux_ifc_P4
$>cp makefile.linux_ifc_P4 makefile
$>make

Vasp5.lib derlenditen sonra, vasp.5.4 dizinine geçilerek arch dizini içerisinden uygun olan makefile dosyası ana dizine kopyalanır.

$>cd ..
$>cd vasp.5.4
$>cp  arch/makefile.include.linux_intel makefile.include

Dosyada genel olarak herhangi bir değişiklik yapılmasına gerek yoktur. Ancak derlenecek uygulamanın işlemcinin AVX komut setlerini kullanabilmesi isteniyorsa FFLAGS eğişkenine işlemciye özel bazı eklemelerin yapılması gerekmektedir. Eğer işlemcinin özellikleri bilinmiyorsa -xHost parametresi eklenerek, derlemenin yapıldığı işlemciye özel en üst AVX komut setinin kullanılması sağlanabilir.

AVX-512 komut setini kullanabilmek için -xHost ile derleme barbun1 sunucusu üzerinde, AVX-2 komut setini kullanabilmek için -xHost ile derleme sardalya1 sunucusu üzerinde yapılmalıdır. -xHost yerine cross-compile parametreleri kullanılarak tek bir sunucu üzerinde farklı işlemci nesilleri için derleme yapmak mümkündür.

Mevcut kümelerdeki işlemciler için TRUBA Kaynakları sayfasına, AVX hakkında ayrıntılı bilgi için Intel-avx sayfalarına bakınız

$>nano makefile.include
$>nano makefile.include
.
.
.
FFLAGS=-assume byterecl -xHost
.
.
.

Makefile.include dosyasında gerekli değişikler yapıldıktan sonra dermeyeye geçilebilr. Derleme oldukça uzun sürecektir. Derleme sırasında birden fazla çekirdek kullanmak make komutuna verilecek -j 8 parametresi ile sağlanabilir.

$>make -j 8 


Derme sırasında bin ve build dizinleri dizinleri kullanılmış olacaktır. Farklı parametrelerle farklı derlemeler yapabilmek için bin dizini farklı adla kayıt edilip, dizinler silinerek yeniden oluşturulmalıdır.

$> cp -r bin bin-derleme1
$> rm -rf bin build
$> mkdir bin build

VASP 5.4 'ın CUDA destekli olarak derlenmesi'


Vasp5.4.4 yukarıdaki yönergelere göre derlendikten sonra, makefike.include dosyasının CUDA kısmında CUDA_ROOT ile başlayan satır aşağıdaki gibi değiştirilir.

CUDA_ROOT  = /truba/sw/centos7.3/lib/cuda/9.0


Sistemde CUDA kütüphanesinin farklı versiyonları mevcuttur. Mevcut versiyonlar /truba/sw/centos7.3/lib/cuda dizini altında bulunmaktadır. Ayrıca kullanıcı kendi ev dizinine yükleyeceği daha güncel bir CUDA versiyonunu'da makefile.include dizininde tanımlayarak kullanabilir.

Bu değişiklik yapıldıktan sonra

$>make -j 8 

komutu ile derleme gerçekleştirilir. Uygulamayı derlerken kullanılmış olan tüm kütüphaneler, uygulamayı çalıştırıken de betik dosyası içerisinde aynı şekilde kullanılmalıdır.

VASP 5.4 için betik dosyası'

Örnek betik dosyasına /truba/sw/scripts/vasp dizininden erişilebilir. Bu dizin içerisinde Vasp'ın farklı derlemeleri ve farklı versiyonları için betik dosyaları bulunmaktadır. Kullanıcılar kendi ihtiyaçlarına ve kendi kurulum dizinlerine göre dosyaları düzenlemelidirler.

Kişisel araçlar