Вместо утреннего кофе, уперся рогом и сделал получение информации через CUDA, тесовый проект прилагаю.
В режиме отладки работает отлично, вижу размер видеопамяти, но потом вылетает с access violation (при обращении к визуальным компонентам или просто при продолжении работы). В чем дело понять не могу, сначала грешил на FMX, но проект на VCL выдает те же симптомы. Очень, очень странные дела...
Код простой, используется cudaRT.pas из CUDA wraper Паскуда https://code.google.com/archive/p/pascuda/source/default/source и cudart32_65.dll идущая вместе с драйверами NVIDIA
Var CudaDeviceProp : TCudaDeviceProp;
hDevice: Integer;
GPUMemorySize : Cardinal;
LMessage : String;
begin
hDevice:=0;
if CudaGetDeviceProperties(CudaDeviceProp, hDevice)=ceSuccess then
begin
GPUMemorySize:=CudaDeviceProp.TotalGlobalMem div 1024 div 1024;
LMessage:=Format('GPU Memory size = %d Mb', [GPUMemorySize]);
Memo.Lines.Add(LMessage);
end;
test099 Cuda Info VCL.7z