小编ngl*_*lee的帖子

当其他进程可能正在使用它时删除boost interprocess_mutex

我试图用interprocess_mutexmanaged_windows_shared_memory.在我的项目中,多个进程class A在以下代码中创建实例.

using namespace boost::interprocess;

class A
{
    managed_windows_shared_memory* _shm;
    interprocess_mutex* _mtx;
}
A::A()
{
    _shm = new managed_windows_shared_memory{ open_or_create, "shm", 1024 };
    _mtx = _shm->find_or_construct<interprocess_mutex>("mtx")();
}
A::~A()
{
    delete _mtx;
    delete _shm;
}
Run Code Online (Sandbox Code Playgroud)

我可以看到,它是安全的呼吁delete _shm;~A(),因为managed_windows_shared_memory只有在使用它的每一个过程破坏了将被销毁managed_windows_shared_memory的对象,如写的文档.

不过,我不知道这是否是安全的呼吁delete _mtx;~A().在文档interprocess_mutex,没有提到它是否仍然被破坏,即使其他进程有对象引用它.

我搜索了这个,我猜我的选择是boost::interprocess::shared_ptr在这种情况下使用.我在这儿吗?这是我应该选择的吗?

c++ boost boost-interprocess

8
推荐指数
1
解决办法
455
查看次数

NVIDIA GPU的任务调度

我对nvidia GPU的任务调度有一些疑问.

(1)如果一个块(CTA)中的线程扭曲已经完成但是还有其他的warp运行,那么这个warp会等待其他的完成吗?换句话说,当所有线程都完成时,块中的所有线程(CTA)都会释放它们的资源,这样可以吗?我认为这一点应该是正确的,因为块中的线程共享共享内存和其他资源,这些资源在CTA大小管理器中分配.

(2)如果一个块(CTA)中的所有线程都挂起了一些长延迟,例如全局内存访问?一个新的CTA线程会占用像CPU这样的方法的资源吗?换句话说,如果一个块(CTA)已被分派到SM(流处理器),它是否会占用资源直到它完成?

如果有人向我推荐一些关于GPU架构的书或文章,我将不胜感激.谢谢!

cuda gpu gpgpu

5
推荐指数
2
解决办法
1271
查看次数

为什么我的Compute Capability 2.0 GPU上的每个多处理器1536的Max Threads?

在我的GPU上,使用Compute Capability 2.0,每个多处理器的最大线程数是1536.为什么它不是2的幂?

以下是我的GPU的一些细节:

Physical Limits for GPU Compute Capability: 2.0   
Threads per Warp                            32  
Max Warps per Multiprocessor                48  
Max Thread Blocks per Multiprocessor        8  
Max Threads per Multiprocessor              1536  
Maximum Thread Block Size                   1024  
Registers per Multiprocessor                32768  
Max Registers per Thread Block              32768  
Max Registers per Thread                    63  
Shared Memory per Multiprocessor (bytes)    16384  
Max Shared Memory per Block                 16384  
Register allocation unit size               64  
Register allocation granularity             warp  
Shared Memory allocation unit size          128  
Warp allocation …
Run Code Online (Sandbox Code Playgroud)

cuda gpu fermi

1
推荐指数
1
解决办法
685
查看次数

标签 统计

cuda ×2

gpu ×2

boost ×1

boost-interprocess ×1

c++ ×1

fermi ×1

gpgpu ×1