我正在尝试在一台具有64内核和256 GB内存的计算机上运行Berkeley UPC代码。但是,代码无法运行,因为它找不到足够的内存。因为51 x 5= 255 GB < 256 GB,所以下面的方法应该有效 upcrun -n 51 -shared-heap=5GB xcorupc_sac inputpgas_sac{$rc1}.txt
..
UPCR: UPC thread 3 of 51 on range (pshm node 0 of 1, process 3 of 51, pid=191914)
UPCR: UPC thread 16 of 51 on range (ps
在我的应用程序中,我在父级和子级之间(在Linux和Windows上)为IPC使用共享内存。Linux的完整代码在上。
我在Linux上有下面的代码可以从共享内存中读取:
char buf[BUF_SIZE/4];
//pBuf is the shared memory location
sem_wait(semn);
//Wait for the parent process to write on the shared memory.
memcpy(buf, pBuf, sizeof(buf));
//Signal the parent
sem_post(sem0);
编写以下代码:
/