I am confusing about DESCINIT's lld parameter.
I set a
subrows(int(full_data_dims_b(1), kind = 4), m_b, nprow)
subrows as defined
integer function subrows(global_rows, block_rows, row_procs)
integer global_rows, block_rows, row_procs
subrows = (global_rows / (block_rows * row_procs)) * block_rows + min(mod(global_rows , &
& (block_rows * row_procs)), block_rows)
end function subrows
enter code here
My descinit is
call DESCINIT( &
desca, &
int(full_data_dims_a(1), kind=4), &
int(full_data_dims_a(2), kind=4), &
m_a, &
n_a, &
0, &
0, &
ictxt, &
& subrows(int(full_data_dims_a(1), kind = 4), m_a, nprow), &
& error)
My program finally cause segmentation fault.
Allocating this memory area
dset_id_a = open_dataset(file_id, dsetname_a)
dspace = open_dataspace(dset_id_a)
ndims_a = get_simple_extent_ndims(dspace)