1

基本上,我有一个需要分配到页面锁定内存中的 gsl 矩阵。gsl_matrix_alloc 没有指定这一点。看来我必须重定向 gsl_matrix->data 中的指针。但是,是否有任何可以分配页面锁定内存的 C++ 方法?

注意:我不能使用其他非标准 C++ API,例如 CUDA API。

4

2 回答 2

4

如果页面锁定是指锁定在物理内存中的虚拟内存,Windows 有 VirtualLock(),Linux 有 memlock()。

于 2013-05-12T17:34:30.917 回答
3

假设您使用的是 Linux,请查看mlock.

> NAME
>        mlock, munlock, mlockall, munlockall - lock and unlock memory
> 
> SYNOPSIS
>        #include <sys/mman.h>
> 
>        int mlock(const void *addr, size_t len);
>        int munlock(const void *addr, size_t len);
> 
>        int mlockall(int flags);
>        int munlockall(void);
于 2013-05-12T17:34:06.667 回答