make_BW_Benchmark Function

public function make_BW_Benchmark(spec, comm, rc) result(benchmark)

Arguments

Type IntentOptional Attributes Name
type(BW_BenchmarkSpec), intent(in) :: spec
integer, intent(in) :: comm
integer, intent(out), optional :: rc

Return Value type(BW_Benchmark)


Calls

proc~~make_bw_benchmark~2~~CallsGraph proc~make_bw_benchmark~2 make_BW_Benchmark mpi_comm_rank mpi_comm_rank proc~make_bw_benchmark~2->mpi_comm_rank proc~mapl_return MAPL_Return proc~make_bw_benchmark~2->proc~mapl_return proc~mapl_verify MAPL_Verify proc~make_bw_benchmark~2->proc~mapl_verify at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~make_bw_benchmark~2~~CalledByGraph proc~make_bw_benchmark~2 make_BW_Benchmark proc~run~8 run proc~run~8->proc~make_bw_benchmark~2 program~main~6 main program~main~6->proc~run~8

Source Code

   function make_BW_Benchmark(spec, comm, rc) result(benchmark)
      type(BW_Benchmark) :: benchmark
      type(BW_BenchmarkSpec), intent(in) :: spec
      integer, intent(in) :: comm
      integer, optional, intent(out) :: rc

      integer :: status
      integer :: rank

      associate (packet_size => int(spec%nx,kind=INT64)**2 * 6* spec%n_levs/spec%n_writers)
        allocate(benchmark%buffer(packet_size), _STAT)
        call random_number(benchmark%buffer)
      end associate

      call MPI_Comm_rank(comm, rank, status)
      _VERIFY(status)
      benchmark%filename = make_filename(base='scratch.', rank=rank, width=5, _RC)

      _RETURN(_SUCCESS)
   end function make_BW_Benchmark