You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于DESCINIT的lld参数疑问及程序段错误问题求助

DESCINIT的lld参数疑问与段错误排查

问题概述

我在使用DESCINIT时对lld参数存在疑问,且调用该函数后程序出现段错误,相关代码及场景如下:

自定义subrows函数(用于计算lld参数)

该函数用于计算每个进程上的局部行数,实现代码:

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

调用示例:subrows(int(full_data_dims_b(1), kind = 4), m_b, nprow)

DESCINIT调用代码

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)

关联的内存分配代码

dset_id_a = open_dataset(file_id, dsetname_a)
dspace = open_dataspace(dset_id_a)
ndims_a = get_simple_extent_ndims(dspace) 

核心疑问

  • 用subrows计算的lld参数是否正确?为何会引发段错误?
  • 希望了解DESCINIT首维度的相关细节。

内容的提问来源于stack exchange,提问作者池田直哉

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:50:20