Following a demo notebook created by Michael Kelly
Needs["CUDALink`"];
CUDAQ[]
TRUE
CUDAInformation[]
{1 -> {"Name" -> "Quadro FX 1800", "Clock Rate" -> 1375000,
"Compute Capabilities" -> 1.1, "GPU Overlap" -> 1,
"Maximum Block Dimensions" -> {512, 512, 64},
"Maximum Grid Dimensions" -> {65535, 65535, 1},
"Maximum Threads Per Block" -> 512,
"Maximum Shared Memory Per Block" -> 16384,
"Total Constant Memory" -> 65536, "Warp Size" -> 32,
"Maximum Pitch" -> 2147483647,
"Maximum Registers Per Block" -> 8192, "Texture Alignment" -> 256,
"Multiprocessor Count" -> 8, "Core Count" -> 64,
"Execution Timeout" -> 1, "Integrated" -> False,
"Can Map Host Memory" -> True, "Compute Mode" -> "Default",
"Texture1D Width" -> 8192, "Texture2D Width" -> 65536,
"Texture2D Height" -> 32768, "Texture3D Width" -> 2048,
"Texture3D Height" -> 2048, "Texture3D Depth" -> 2048,
"Texture2D Array Width" -> 8192, "Texture2D Array Height" -> 8192,
"Texture2D Array Slices" -> 512, "Surface Alignment" -> 256,
"Concurrent Kernels" -> False, "ECC Enabled" -> False,
"TCC Enabled" -> False, "Total Memory" -> 805306368}}
I have checked that the latest driver version is installed. Also checked that the required CUDA resources paclet is installed:
CUDAResourcesInstall["C:\\Users\\JKinlay\\Dropbox\\Cuda\\\
CUDAResources-Win64-12.1.0.paclet"]
PacletInstall::samevers: A paclet named CUDAResources with the same version number (12.1.0) is already installed. Use PacletUninstall to remove the existing version first, or call PacletInstall with ForceVersionInstall -> True.
Everything seems fine.
Test CUDAFinancialDerivative:
numberOfOptions = 100000;
spotPrices = RandomReal[{25.0, 35.0}, numberOfOptions];
strikePrices = RandomReal[{20.0, 40.0}, numberOfOptions];
expiration = RandomReal[{0.1, 10.0}, numberOfOptions];
interest = RandomReal[{0.04, 0.1}, numberOfOptions];
volatility = RandomReal[{0.10, 0.50}, numberOfOptions];
dividend = RandomReal[{0.02, 0.06}, numberOfOptions];
AbsoluteTiming[
CUDAFinancialDerivative[{"AsianArithmetic",
"Call"}, {"StrikePrice" -> strikePrices,
"Expiration" -> expiration}, {"CurrentPrice" -> spotPrices,
"InterestRate" -> interest, "Volatility" -> volatility,
"Dividend" -> dividend}];]
CUDAFunction::liblnch: During the evaluation, an error LIBRARY_TYPE_ERROR was raised when launching the library function.
I get the same error message, regardless of the number / type of option contracts.
Test another CUDA function:
lst = RandomReal[1., {10}];
CUDAFourier[lst]
CUDAFourier::unknown: CUDALink experienced an unknown error.
It seems that CUDA functionality has failed completely.