繁体   English   中英

在C中为并行编程openmp和mpi分配内存的最佳方法

[英]best way to allocate memory in C for parallel programming openmp and mpi

如果要编写C代码而不是C ++,并且要使用openmp指令编写并行程序,那么分配内存的最佳方法是什么? 我已经习惯了传统的malloc()和calloc(),但我也遇到过

#include <sys/sem.h>

用于做信号量。 一个比另一个好还是坏?

我正在考虑编写的程序将使用大量RAM,数量级为256GB或更多。 而且它还将读取/写入大于4GB的暂存文件。 因此,我不会使用lseek()命令的32位版本,而是会使用lseek64() 考虑到所有这些,有人可以提供有关编写此类程序的最佳方法的建议吗? 我很早以前就已经学过openmp了,这通常足以在具有足够内存的单个系统上运行,但是我提到了MPI,因为我可以学习并使用它,如果它可以使所有内容变得更健壮和可移植。 或其他使用C进行并行编程的方法

考虑使用mmap和mremap来更快地重新映射内存,因为mremap()使用Linux页表方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM