CUDAImageConvolve kernel size
- To: mathgroup at smc.vnet.net
- Subject: [mg123917] CUDAImageConvolve kernel size
- From: Vadim Zaliva <krokodil at gmail.com>
- Date: Fri, 30 Dec 2011 07:05:38 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
I am trying to use CUDAImageConvolve as a drop-in replacement for
ImageConvolve to speed up my calculations. It appears there is a limit
on kernel size.
CUDAImageConvolve::invdim: CUDALink encountered an object with invalid
dimensions. ImageDimensions of my image are {956, 500}. If I use with
kernel 41x41 kernel, it works. However using with 101x101 kernel
produces an error:
"CUDAImageConvolve::invdim: CUDALink encountered an object with
invalid dimensions."
CUDAInformation[] reports:
{1 -> {"Name" -> "GeForce GT 330M", "Clock Rate" -> 1100000,
"Compute Capabilities" -> 1.2, "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" -> 16384, "Texture Alignment" -> 256,
"Multiprocessor Count" -> 6, "Core Count" -> 48,
"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" -> 536543232}}
"Maximum Block Dimensions" may be interpreted as kernel size limit,
but I am well below that. Any suggestions?
Thanks!