#include <iostream>
#include "UnifiedMemManaged.h"


//typedef int mytype;
//typedef unsigned int mytype;
typedef long long mytype;
//typedef unsigned long long mytype;

__global__ void Test(mytype *ptr, mytype val){
	atomicMax(ptr, val);
}

int main()
{
	UnifiedMemory mem(sizeof(mytype));
	mytype* ptr = (mytype*)(mem.getMemory());
	*ptr = -1;
	mytype val = 10;
	std::cout << *ptr << std::endl;
	Test<<<1,1>>>(ptr,val);
	cudaDeviceSynchronize();
	std::cout << *ptr << std::endl;
	return 0;

}

clang++ --cuda-gpu-arch=sm_60 -I/usr/local/cuda/include -L/usr/local/cuda/lib64 -lcuda t.cu -o t -std=c++11

Logo

欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐