나는 CUDA이 원자 기능을 구현하고 싶습니다 : __device__ float lowest; // global var
__device__ int lowIdx; // global var
float realNum; // thread reg var
int index; // thread reg var
if(realNum < lowest) {
lowe
"기능이 너무 많은 공유 데이터를 사용합니다",하지만 난 때문에 내가 사용하는 autogen.sh의 오류로 (http://www.maisondelasimulation.fr/projects/RAMSES-GPU/html/download.html 실행합니다. 에서 람세스 GPU를 얻기 위해 노력하고 있어요 ./ 구성 작업이 하나있어 그래서 생산 메이크는 다음 N
별도의 파일로 작성된 PTX를 인라인 PTX로 변환하는 중입니다. PTX를 인라인 후에 다음 컴파일러가 생성 PTX 파일에서 .version 1.2
.target sm_13
, 컴파일러는 ISA 및 목표 지정한 : 다음과 같이 별도의 PTX 파일에서 I는 ISA 및 대상을 정의했다 .version 3.0
.target sm_20
.address_s
NVIDIA GPU에서 opencl 프로그램의 PTX 레벨에서 가로 채고 싶습니다. 루틴이 아마 이렇게 보일 것이라고 상상해보십시오. 먼저 opencl 프로그램 (호스트 및 장치 코드 모두)을 작성하고 NVIDIA 컴파일러를 사용하여 각각의 ptx 코드를 생성합니다. 그런 다음 PTX 코드를 수정하여 원하는 작업을 작성합니다 (장치 C 코드에서이 작업을 수
Parallel Nsight에서 인라인 PTX를 실행할 때 PTX 레지스터를 볼 수 있습니까? 인라인 PTX에 중단 점을 설정하고 단계별로 실행할 수 있지만 PTX 레지스터를 가리키면 해당 값이 표시되지 않습니다. SASS를 켜고 해당 레지스터를 가리키면 값이 표시되지만 PTX 레지스터와 SASS 레지스터 간의 관계를 추적하기는 어렵습니다.
CUDA가 어떤 종류의 코드를 생성하는지 보려면 객체 파일 외에도 ptx로 컴파일하는 것이 좋습니다. 내 루프 언 롤링의 일부는 꽤 시간이 걸릴 수 있기 때문에 내가 현재 해요하는 대신 모두 *.cu → *.ptx 및 *.cu → *.o과 시간을 낭비 *.cu → *.ptx → *.o를 컴파일 할 수 있도록하고 싶습니다 하기. -ptx을 nvcc *.cu