I see all 16x PCIe connection on PCB to chip. Is 8x PCIe measured throughput “feature” of some Nvidia “resistor” strip configuration downgrade ?
There can be power limit (max 75W from PCIe) that limits to use all 16x PCIe lines.
That was really smart to simply look at the pinout on the board! So my theory about saving chip pincount is clearly wrong. And since the board itself has full x16 length fingers (and they’re all wired!), there are only two theories I can think of. As you say, it may be done to save power, though I’d be surprised if the extra lanes add that much wattage… and then why bother wiring up the unused lanes? A new, more likely theory: the chip really does support only x8, but it has pinout supporting x16 just for compatibility with a generic PCB design, allowing NVidia and board partners to swap in other GPU chips (with x16) without changing the PCB design.
Price for that Asus card was like 85 EUR. Mind you that this includes 19% VAT.
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GT 640"
CUDA Driver Version / Runtime Version 5.5 / 5.0
CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 1024 MBytes (1073741824 bytes)
( 2) Multiprocessors x (192) CUDA Cores/MP: 384 CUDA Cores
GPU Clock rate: 1046 MHz (1.05 GHz)
Memory Clock rate: 2505 Mhz
Memory Bus Width: 64-bit
L2 Cache Size: 524288 bytes
Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536,65536), 3
D=(4096,4096,4096)
Max Layered Texture Size (dim) x layers 1D=(16384) x 2048, 2D=(16384,16
384) x 2048
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 2147483647 x 65535 x 65535
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): No
Device PCI Bus ID / PCI location ID: 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simu
ltaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.5, CUDA Runtime Versi
on = 5.0, NumDevs = 1, Device0 = GeForce GT 640
Regarding the performance per Watt you’re spot on. I am doing some Litecoin generation and related software development as a hobby (similar to bitcoin but using a memory bound hashing algorithm called scrypt), and eletricity cost diminishes the monetary gain from litecoin mining.
GT640 GK107: 40 kHash/s at 65 Watts TDP (nVidia’s official power rating, the truth may be lower)
GT640 GK208: 45 kHash/s at 49 Watts TDP (extra advantage due to hardware barrel shifter)
and my CUDA 3.5 hashing kernels aren’t even fully optimized yet due to lack of suitable hardware. So far I had to rely on people owning Titans or K20(X) boards for testing.
From what I’ve understood bitcoin mining is very compute bound…
Would you consider going for the 25 watt GT630 (GK208 based) as an option? It has the same compute capacity but is quite strangled on the bandwidth side.
Btw, I have a GTX Titan that I can run some tests on if you would like…
I might try undervolting and underclocking the chip somewhat to get to comparable power levels.
But I currently have no plans to build a mining farm out of low end chips.
When I turn on my quad GPU monster PC, it munches a 1000 Watts. And I love the sound it makes (and the heat can also be of some use in the winter, hehe)
scrypt hashing is also somewhat memory bound (it uses a large scratch pad with some random access thrown in for extra difficulty). GDDR3 vs GDDR5 on a GPU would likely make a difference here.
Yes in the winter time here in Sweden my office is also nice and cosy warm compared to some of my colleagues with “lesser” machines. :)
You could try downclocking your memory interface and see if it has a negative effect on the performance (to see how compute / bandwidth bound you are).
Also if for example power consumption behaves non-linearly with a freq. decrease ( P ~ c*F^2) and meanwhile algorithm performance decreases linearly there might be a sweet spot for kHash/s / Watt ( kHash / Joule ).
I wonder if reading with the __ldg() instruction on cc 3.5 could give some caching advantage if you have some locatily to the LD instructions. It’s 48 kB on cc 3.5 so definetly worthile to use if you have that type of access…
Yes, it does support ldg(). But it’s unknown what the texture cache size is on GK208. It’s not a queryable attribute from CUDA, and it’s not documented in the C Programming guide. I would expect it’s still 48KB though.
Cache-wise, GK208 is surprisingly awesome with its huge 512KB L2 cache. That’s double the size of GK107’s!
I’ve been changing post #13 of this thread lately, but I wanted to bump with a GPU-z screenshot of a Toshiba S55-A5279 (probably will become my new laptop):
My only gripe is a lower battery capacity compared to my current M5-481TG-6814. Even though there is no dedicated Fn key to control the keyboard backlight, it is adjustable in BIOS as ON, OFF, or TIMED (from 5 to 60 secs, IIRC) from last key press. The default is TIMED, 15 secs delay until off. The keyboard backlight can also be disabled in software from WIndows with the use of Toshiba’s Eco Utility.
Some motherboards which are labeled as PCI-e 3.0 x16 only use the x16 capability when there is one gpu attached, and when there are two gpus inserted it drops to x8.
At least that has been the case with my ASUS Maximus GENE, not sure if it applies to this situation.
I should’ve provided more context, I was referring to the fact that discrete GK208 cards mentioned earlier in this thread all seem to be configured to operate at PCIe 2.0 x8 despite appearing to have x16 traces on the PCB and being installed in a PCIe 3.0 slot.
We’ve seen at least two GK208 variants in these cards – 301-AI and 400-A1.
So either the 7xxM with PCIe 3.0 x8 is a different variant or the discrete cards are purposefully configured to only use PCIe 2.0.
Either way, it’s very interesting to know that there is a PCIe 3.0 x8 laptop!
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\Bin\win64\Release>bandwidthTest.exe
[CUDA Bandwidth Test] - Starting...
Running on...
Device 0: GeForce GT 740M
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 6143.1
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 6213.2
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12409.2
Result = PASS
and deviceQuery while I’m at it:
Unlike my last laptop the CPU and GPU don’t seem to throttle at all, even when I have Prime95 running and GPU-z rendering full-screen, the max CPU temp is around 77 deg C.