gpt4 book ai didi

multithreading - HDF5 写线程并发

转载 作者:行者123 更新时间:2023-12-04 04:29:12 25 4
gpt4 key购买 nike

HDF5 是否能够自行处理多个线程,还是必须进行外部同步? OpenMP 示例建议使用后者。

如果是前者,定义要写入的数据空间的正确方法是什么?

最佳答案

安康,

HDF5 可以在没有外部同步的情况下处理多个线程,尽管写入仍然是串行的。您应该编译最新版本(截至 2011 年 4 月 5 日的 1.8.6)并运行 ./configure--enable-threadsafe-with-pthreads=/pthreads-include-path/,/pthreads-lib-path/标志。

例如:

./configure --enable-threadsafe -with-pthreads=/usr/include,/usr/lib

关于定义用于写入的数据空间,最简单的方法是使用多维数组、秩值和 H5Screate_simple 构造一个基本的矩形超平面。功能。我的通常遵循相同的步骤:
    //NUM = Number of spaces in this dimension
//Create a 1 dimensional array
hsize_t dsDim[1] = {NUM};
//Create the 1x1xNUM data space (rank param = 1).
hid_t dSpace = H5Screate_simple(1, dsDim, NULL);
...
Create datasets using the dataspace
...
//Release the data space
H5Sclose(dSpace);

希望这可以帮助!

关于multithreading - HDF5 写线程并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3122091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com