Skip to content

Commit b6a37f8

Browse files
committed
add comment block for new benchmark
1 parent dd6e803 commit b6a37f8

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

benchmarks/C/indep_data_obj_create.c

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,91 @@
2222
#include <assert.h>
2323

2424

25+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
26+
* This program creates a large number of data objects and writes substantial metadata
27+
* to an output file. Each MPI process is responsible for creating a distinct, non-overlapping
28+
* subset of data objects, including variables, dimensions and variable attributes. All processes
29+
* participate in MPI communication to synchronize metadata definitions, ensuring that each process
30+
* holds a consistent copy of metadata required to collectively define variables, dimensions, and
31+
* attributes. The metadata is stored in the header of the output file, and the data objects created by
32+
* each process are independent (i.e., not shared across processes).
33+
*
34+
* The compile and run commands are given below, together with an ncmpidump (header only) of
35+
* the output file.
36+
*
37+
* % mpicc -O2 -o indep_data_obj_create indep_data_obj_create.c -lpnetcdf
38+
*
39+
* % mpiexec -n 4 ./indep_data_obj_create -n 20 ./testfile.nc
40+
*
41+
* % ncmpidump -h ./testfile.nc
42+
* netcdf testfile {
43+
* // file format: CDF-5 (big variables)
44+
* dimensions:
45+
* process_0_var_0_dim_0 = 10 ;
46+
* process_0_var_0_dim_1 = 10 ;
47+
* process_0_var_1_dim_0 = 10 ;
48+
* process_0_var_1_dim_1 = 10 ;
49+
* process_0_var_2_dim_0 = 10 ;
50+
* process_0_var_2_dim_1 = 10 ;
51+
* process_0_var_3_dim_0 = 10 ;
52+
* process_0_var_3_dim_1 = 10 ;
53+
* process_0_var_4_dim_0 = 10 ;
54+
* process_0_var_4_dim_1 = 10 ;
55+
* process_1_var_5_dim_0 = 10 ;
56+
* process_1_var_5_dim_1 = 10 ;
57+
* process_1_var_6_dim_0 = 10 ;
58+
* process_1_var_6_dim_1 = 10 ;
59+
* process_1_var_7_dim_0 = 10 ;
60+
* process_1_var_7_dim_1 = 10 ;
61+
* process_1_var_8_dim_0 = 10 ;
62+
* process_1_var_8_dim_1 = 10 ;
63+
* process_1_var_9_dim_0 = 10 ;
64+
* process_1_var_9_dim_1 = 10 ;
65+
* process_2_var_10_dim_0 = 10 ;
66+
* process_2_var_10_dim_1 = 10 ;
67+
* process_2_var_11_dim_0 = 10 ;
68+
* process_2_var_11_dim_1 = 10 ;
69+
* process_2_var_12_dim_0 = 10 ;
70+
* process_2_var_12_dim_1 = 10 ;
71+
* process_2_var_13_dim_0 = 10 ;
72+
* process_2_var_13_dim_1 = 10 ;
73+
* process_2_var_14_dim_0 = 10 ;
74+
* process_2_var_14_dim_1 = 10 ;
75+
* process_3_var_15_dim_0 = 10 ;
76+
* process_3_var_15_dim_1 = 10 ;
77+
* process_3_var_16_dim_0 = 10 ;
78+
* process_3_var_16_dim_1 = 10 ;
79+
* process_3_var_17_dim_0 = 10 ;
80+
* process_3_var_17_dim_1 = 10 ;
81+
* process_3_var_18_dim_0 = 10 ;
82+
* process_3_var_18_dim_1 = 10 ;
83+
* process_3_var_19_dim_0 = 10 ;
84+
* process_3_var_19_dim_1 = 10 ;
85+
* variables:
86+
* int process_0_var_0(process_0_var_0_dim_0, process_0_var_0_dim_1) ;
87+
* int process_0_var_1(process_0_var_1_dim_0, process_0_var_1_dim_1) ;
88+
* int process_0_var_2(process_0_var_2_dim_0, process_0_var_2_dim_1) ;
89+
* int process_0_var_3(process_0_var_3_dim_0, process_0_var_3_dim_1) ;
90+
* int process_0_var_4(process_0_var_4_dim_0, process_0_var_4_dim_1) ;
91+
* int process_1_var_0(process_1_var_5_dim_0, process_1_var_5_dim_1) ;
92+
* int process_1_var_1(process_1_var_6_dim_0, process_1_var_6_dim_1) ;
93+
* int process_1_var_2(process_1_var_7_dim_0, process_1_var_7_dim_1) ;
94+
* int process_1_var_3(process_1_var_8_dim_0, process_1_var_8_dim_1) ;
95+
* int process_1_var_4(process_1_var_9_dim_0, process_1_var_9_dim_1) ;
96+
* int process_2_var_0(process_2_var_10_dim_0, process_2_var_10_dim_1) ;
97+
* int process_2_var_1(process_2_var_11_dim_0, process_2_var_11_dim_1) ;
98+
* int process_2_var_2(process_2_var_12_dim_0, process_2_var_12_dim_1) ;
99+
* int process_2_var_3(process_2_var_13_dim_0, process_2_var_13_dim_1) ;
100+
* int process_2_var_4(process_2_var_14_dim_0, process_2_var_14_dim_1) ;
101+
* int process_3_var_0(process_3_var_15_dim_0, process_3_var_15_dim_1) ;
102+
* int process_3_var_1(process_3_var_16_dim_0, process_3_var_16_dim_1) ;
103+
* int process_3_var_2(process_3_var_17_dim_0, process_3_var_17_dim_1) ;
104+
* int process_3_var_3(process_3_var_18_dim_0, process_3_var_18_dim_1) ;
105+
* int process_3_var_4(process_3_var_19_dim_0, process_3_var_19_dim_1) ;
106+
* }
107+
*
108+
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
109+
25110

26111
static int verbose;
27112

0 commit comments

Comments
 (0)