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~~CallsGraph proc~make_bw_benchmark make_BW_Benchmark mpi_comm_rank mpi_comm_rank proc~make_bw_benchmark->mpi_comm_rank proc~mapl_return MAPL_Return proc~make_bw_benchmark->proc~mapl_return proc~mapl_verify MAPL_Verify proc~make_bw_benchmark->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~~CalledByGraph proc~make_bw_benchmark make_BW_Benchmark proc~run~4 run proc~run~4->proc~make_bw_benchmark program~main~4 main program~main~4->proc~run~4

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, _IERROR)
      benchmark%filename = make_filename(base='scratch.', rank=rank, width=5, _RC)

      _RETURN(_SUCCESS)
   end function make_BW_Benchmark