FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_tuning_fx.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
5 
7  use hecmw_util
8  implicit none
9 
10  private
11 
13 
14  !!
15  !! Please set TotalSectorCacheSize to
16  !! (on K-computer) : 12
17  !! (on FX10) : 24
18  !!
19  integer, parameter :: TotalSectorCacheSize = 12
20 
21 contains
22 
23  subroutine hecmw_tuning_fx_calc_sector_cache( N, NDOF, &
24  sectorCacheSize0, sectorCacheSize1 )
25  implicit none
26  integer(kind=kint), intent(in) :: n, ndof
27  integer(kind=kint), intent(out) :: sectorcachesize0, sectorcachesize1
28  ! calculate sector cache size
29  sectorcachesize1 = int((dble(n) * ndof * kreal / (4096 * 128)) + 0.999)
30  if (sectorcachesize1 > totalsectorcachesize / 2 ) &
31  sectorcachesize1 = totalsectorcachesize / 2
32  sectorcachesize0 = totalsectorcachesize - sectorcachesize1
33  ! write(*,*) 'Vector size =', N * NDOF * kreal, '[byte] ', &
34  ! 'sectorCache0 =', sectorCacheSize0, '[way] ', &
35  ! 'sectorCache1 =', sectorCacheSize1, '[way]'
37 
38 end module hecmw_tuning_fx
hecmw_tuning_fx
Definition: hecmw_tuning_fx.f90:6
hecmw_tuning_fx::hecmw_tuning_fx_calc_sector_cache
subroutine, public hecmw_tuning_fx_calc_sector_cache(N, NDOF, sectorCacheSize0, sectorCacheSize1)
Definition: hecmw_tuning_fx.f90:25
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
hecmw_util::kreal
integer(kind=4), parameter kreal
Definition: hecmw_util_f.F90:16