Commit b3286257 authored by Matthias Redies's avatar Matthias Redies

Merge branch 'develop' of iffgit.fz-juelich.de:fleur/fleur into develop

parents 570512bb 8f072dc3
......@@ -15,8 +15,8 @@ if (CLI_FLEUR_USE_GPU)
elseif(${CLI_FLEUR_USE_GPU} MATCHES "emu")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Mcuda=emu -Mcudalib=cublas -Minfo=accel ")
endif()
set(FLEUR_MPI_DEFINITIONS ${FLEUR_MPI_DEFINITIONS} "CPP_GPU")
set(FLEUR_DEFINITIONS ${FLEUR_DEFINITIONS} "CPP_GPU")
set(FLEUR_MPI_DEFINITIONS ${FLEUR_MPI_DEFINITIONS} "CPP_GPU" "CPP_MANAGED=,MANAGED")
set(FLEUR_DEFINITIONS ${FLEUR_DEFINITIONS} "CPP_GPU" "CPP_MANAGED=,MANAGED")
#Now check for cusolverDN library
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Mcuda")
try_compile(FLEUR_USE_CUSOLVER ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake/tests/test_cusolver.c
......@@ -29,4 +29,6 @@ if (CLI_FLEUR_USE_GPU)
endif()
else()
set(FLEUR_USE_GPU FALSE)
set(FLEUR_MPI_DEFINITIONS ${FLEUR_MPI_DEFINITIONS} "CPP_MANAGED=")
set(FLEUR_DEFINITIONS ${FLEUR_DEFINITIONS} "CPP_MANAGED=")
endif()
......@@ -58,6 +58,27 @@ SUBROUTINE writeOutParameters(mpi,input,sym,stars,atoms,vacuum,obsolete,kpts,&
CALL writeXMLElementFormPoly('bands',(/'numbands'/),&
attributes(:1),reshape((/9,8/),(/1,2/)))
WRITE(attributes(1),'(f0.8)') cell%vol
WRITE(attributes(2),'(f0.8)') cell%volint
IF(input%film) THEN
WRITE(attributes(3),'(f0.8)') cell%omtil
WRITE(attributes(4),'(f0.8)') cell%area
WRITE(attributes(5),'(f0.8)') cell%z1
CALL openXMLElementFormPoly('volumes',(/'unitCell ', 'interstitial', 'omegaTilda ', 'surfaceArea ', 'z1 '/),&
attributes(:5),reshape((/8,12,10,11,2,10,10,10,10,10/),(/5,2/)))
ELSE
CALL openXMLElementFormPoly('volumes',(/'unitCell ', 'interstitial'/),&
attributes(:2),reshape((/8,12,10,10/),(/2,2/)))
END IF
DO i = 1, atoms%ntype
WRITE(attributes(1),'(i0)') i
WRITE(attributes(2),'(f0.8)') atoms%rmt(i)
WRITE(attributes(3),'(f0.8)') atoms%volmts(i)
CALL writeXMLElementFormPoly('mtVolume',(/'atomType','mtRadius','mtVolume'/),&
attributes(:3),reshape((/8,8,8,5,10,10/),(/3,2/)))
END DO
CALL closeXMLElement('volumes')
sumWeight = SUM(kpts%wtkpt(:kpts%nkpt))
WRITE(attributes(1),'(f0.8)') kpts%posScale
WRITE(attributes(2),'(f0.8)') sumWeight
......
......@@ -12,13 +12,8 @@ MODULE m_types_mat
LOGICAL :: l_real !>Store either real or complex data
INTEGER :: matsize1=-1 !> matsize1=size(data_?,1),i.e. no of rows
INTEGER :: matsize2=-1 !> matsize2=size(data_?,2),i.e. no of columns
#ifdef CPP_GPU
REAL,MANAGED,ALLOCATABLE :: data_r(:,:)
COMPLEX,MANAGED,ALLOCATABLE :: data_c(:,:)
#else
REAL,ALLOCATABLE :: data_r(:,:)
COMPLEX,ALLOCATABLE :: data_c(:,:)
#endif
REAL,ALLOCATABLE CPP_MANAGED :: data_r(:,:)
COMPLEX,ALLOCATABLE CPP_MANAGED :: data_c(:,:)
CONTAINS
PROCEDURE :: alloc => t_mat_alloc !> allocate the data-arrays
PROCEDURE :: multiply=>t_mat_multiply !> do a matrix-matrix multiply
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment