Author Topic: [MOVED] Hacking NVidia Cards into their Professional Counterparts  (Read 1220703 times)

0 Members and 4 Guests are viewing this topic.

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #550 on: September 13, 2013, 08:42:08 pm »
I'm surprised they are modding GeForce cards into Quadro 4000 cards - since there is no direct GeForce equivalent. Modding a GTS450 into a Quadro 2000, GeForce 470 into a Quadro 5000 and GeForce 480 into a Quadro 6000 is pretty trivial, on the other hand.

I suspect the Mac requirements, however, include having a UEFI BIOS, which is trickier since as soon as you modify the BIOS, the crypto signatures in the UEFI BIOS no longer match and the Mac will probably reject the hardware. Depending on how the crypto stuff is implemented, I'm sure it is defeatable, though. Worst case, you can get a genuine Quadro UEFI BIOS (from a Mac Quadro), find a GeForce card on which the important bits of the strap match (EEPROM type, clock generator type), and hard-mod it with resistor changes, and voila, you have a Mac Quadro for the price of a GeForce, a couple of 0402 resistors, and a few minutes or extreme precision work with soldering gear (easy with years of experience and decent equipment (solder removal braid, pro grade soldering kit with hot air, difficult otherwise). I would imagine somebody experienced in it could knock out a whole bunch of modified cards per hour (removing and refitting heatsinks would likely be the most time consuming part).

Personally, I'm working in the other direction - stripping UEFI crap from the 6xx BIOS so I can soft-mod it more easily, plus some other advantages such as having a BIOS smaller than 64KB, which makes it loadable for primary VGA passthrough in Xen for bootstrapping the GPU inside the VM (so you get boot console output on the external monitor, rather than in a VNC console).

$1800 for a Grid K2 sounds downright cheap - only 3x the price of a GTX690. Until recently the difference has been 5-8x. Seems we are having a sobering impact on their pricing strategy.
 
The following users thanked this post: 001

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #551 on: September 13, 2013, 09:31:03 pm »
I was curious about that. you mentioned you did up a card with a real bios.

The Kepler 2000,4000,5000,6000 seem to be the cards to do.

Do you think its possible to find a 2000 or 4000 compatible kepler geforce and actually splice the bios?

Nvidia website mentions GRID but also says Kepler can do some of the functions as well.

However it is opposite of how ESXi works (GRID or non-kepler).

And remember the old FX 3800,4800,5800 are multi-os.

I think it would be interesting to compare the features of the multi-os cards and their geforce partner!


2xx/3xx are software

4xx are software plus straps

5xx are hardware resistor plus straps

6xx are hardware resistor plus straps.

It seems the 4xx are easiest to do and cheap to source for those of us who can't solder.

6xx would then be the next choice since kepler has something that fermi does not.

Do you have suggestion on cheaper 6xx series to give a shot to mod?


btw, I was looking at pricing. The low end quadro piqued my interest. What about cross flashing? Notice something in common in this list???

Quadro 410    GK107    28    PCIe 3.0 x16    512          1800    192:16:8          14.4    DDR3[54]    64          11.0    4.4    38    <-- $50
Quadro K600    GK107    28    PCIe 2.0 x16    1024    876    876    891(1782)    192:16:16    14.0    14.0    28.5    DDR3    128    336.38       11.0    4.4    41    6.3" Card <-- $70
Quadro K2000    GK107    28    PCIe 2.0 x16    2048    954    954    1000(4000)    384:32:16    15.2    30.5    64    GDDR5    128    732.67       11.0    4.4    51    7.97" Card <--- $210
Quadro K2000D    GK107    28    PCIe 2.0 x16    2048    954    954    1000(4000)    384:32:16    15.2    30.5    64    GDDR5    128    732.67       11.0    4.4    51    7.97" Card <--- $250
Quadro K4000    GK106    28    PCIe 2.0 x16    3072    810.5    810.5    1404(5616)    768:64:24    19.4    51.9    134.8    GDDR5    192    1244.93       11.0    4.4    80    9.5" Card <--- $350
Quadro K5000    GK104    28    PCIe 2.0 x16    4096    705.5    705.5    1350(5400)    1536:128:32    22.592    90.368    172.8    GDDR5    256    2168.832    90    11.0    4.4    122    10.5" Card <-- $800

Quadro K500M    GK107    28    PCIe 3.0 x16    1024    850    850    1600    192:16:8    6.8    13.6    12.8    DDR3    64    326.4    11.0    4.4    Yes    35    
Quadro K1000M    GK107    28    PCIe 3.0 x16    2048    850    850    1800    192:16:16    13.6    13.6    28.8    DDR3    128    326.4    11.0    4.4    Yes    45
Quadro K2000M    GK107    28    PCIe 3.0 x16    2048    745    745    1800    384:32:16    11.92    23.84    28.8    DDR3    128    572.16    11.0    4.4    Yes    55

NVS 510    GK107    28    PCI-Express ×16    2048          1800    384:32:16          28.5    GDDR3    128       11.0    4.4    35    4× miniDisplayPort <--  $150
« Last Edit: September 13, 2013, 10:24:12 pm by mrkrad »
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #552 on: September 14, 2013, 12:54:55 am »
Quadro x000 / GeForce 4xx/5xx series cards are Fermi, not Kepler based. Quadro/Grid K series and GeForce 6xx and 7xx cards are Kepler based.

GeForce 8xxx/2xx/3xx/4xx/5xx are all fully modifiable using soft-straps to change the ID (to equivalent Quadro/Tesla cards).
6xx is, too, but the scope for change is limited. For example, you can soft-mod a GTX680 into a Tesla K10 without touching any resistors.
Nvidia obviously got smart to it and didn't add extra ID bits to the soft strap and made the bits above the 5th hard-strap-only - hence why we have to hard-mod the byte 3. Note that you can still adjust the least significant bit of the 3rd byte using a soft-mod as per the previous generation cards.

I have yet to see evidence of cross-flashing he whole BIOS achieving anything useful, but my research into that is not yet complete.
I wouldn't bother with the Quadro xxx (3 digits) and NVS cards, they aren't suitable for VGA passthrough which is the main point of modding at the moment.
People have reported success in modding a GTX670 into a K5000 and if you look through the GPU tables on wikipedia you should be able to find a suitable lower end GeForce card that you might be able to modify into a Grid K1. Check the driver release appendix A for device IDs supported by the drivers - this will also tell you what the device IDs of the various cards is, from which you can work out what is soft-moddable and what you'll need to mod the hard-straps for. Interestingly, you can soft-mode a GTX680M/GTX680MX into a K5000/K2 without the need for hard-modding.

But yes, 4xx series cards are probably the best target for experimentation. Performance is pretty good even by today's standards, they are cheap on ebay, and can be soft-modded easily. And modding them enables the second DMA channel, so you actually get some quite tangible performance improvements in I/O heavy loads. They easily win in terms of cost/ease/benefit.
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #553 on: September 14, 2013, 02:29:36 am »
Yeah so my theory was to locate the cheap quadro cards and mod them. Then maybe while you are there do up the geforce as well.

So I was actually thinking the  NVS510 could be modded into a K2000!

Besides it is fun!

The quadro 6000 was expensive, and I somewhat regret not getting a K6000/K5000 since they will support VGX (grid). But I think I can probably use the quadro 6000 for a few more months and sell it for the same price I paid.

Or trade it to someone else. Or keep it :)

How bout trying to crossflash a titan to a tesla or K6000! I mean we want the VGX at the end of the day, might as well go big!

Plus if you can pull it off, folks would probably kick in  $$ to get it done.

I'd donate my quadro 6000 to someone that can pull off a grid K1 that works[grid vgx mode]. So far it seems only the GK110 has grid/VGX but clearly there are the other grid (K340/520) gaming gpu's and grid k1/k2 so i'm guessing the K340 or 520 are variants of the grid g p u .

 

Offline eddy02350

  • Newbie
  • Posts: 1
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #554 on: September 14, 2013, 09:43:47 am »
Hi all
 
After modding  my gtx670 to k5000 by hard strapping, i tried to change some  ID bits  in the  straps area too .
But lspci  show k5000 gpu  while the driver find a quadro k3000m gpu.
Strange , perhaps soft modding is possible  only  for the driver ?
(ex.. i don't speek english).




 
 

Offline Mikhail80

  • Newbie
  • Posts: 1
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #555 on: September 14, 2013, 11:09:24 am »
Good morning, I tested successfully mod my GTX770 in K5000. How was not finding the resistors, used Trimmers 50k ohms, like these,
And I configured one for 15K and one for 40K, the board used was a Zotac GTX770 AMP!

Follows the model of plate tests and referrals. Subsequently do more stability testing. If anyone needs the bios I upload.


My congratulations!
But... dear colleagues, what's about SPECviewperf test?
https://www.eevblog.com/forum/chat/hacking-nvidia-cards-into-their-professional-counterparts/msg210155/#msg210155
If your "GeForce" and "Quadro" test speeds are the same, then there is a big question for unlocking efficiency.

Could you post your SPECviewperf test results to submit your success?
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #556 on: September 14, 2013, 12:38:32 pm »
are you allowed to modify the straps code (bios/driver)? I assume the bios is x86 partially and then a FPGA (opencl/cuda?) blob?

just curious how the bios -> pc , and whatever -> gpu works!

Perhaps straps are like how cpu's have microcode patches to neuter bugs post-production? IDA pro anyone?

Or is the bios/driver all encrypted?
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #557 on: September 15, 2013, 04:12:08 pm »
@eddy02350:
When hard-modding, you have to check in the BIOS and make sure that the UEFI header strap doesn't override anything (i.e. the AND strap ID bits should all be 1, and OR strap ID bits should all be 0). It is possible that your hard-strap works fine, but your soft-strap is locked so modding the hard-strap won't touch (some of) the low 5 bits. Same goes for the straps in the BIOS part (as opposed to UEFI header part).

@mrkrad:
The driver has been scrambled ever since somebody modified them to make SLI work on non-Nvidia motherboards. Nvidia's reponse was to encrypt the drivers. Intel's response was to not give Nvidia a QPI licence so they couldn't make motherboard chipsets for Core i and later CPUs. Just deserts and good riddance - doubly so since Nvidia motherboard chipsets were eyewateringly buggy and unreliable. But the scrambled drivers, unfortunately, stuck.

@opoeta:
Kudos for putting adjustable resistors on there. :)

@Mikhail80:
Nobody has yet been able to restore the missing GL primitives on GeForce cards. Cross-flashing the BIOS, in the one case where it actually works (Q2000 BIOS onto a GTS450), doesn't seem to achieve anything obviously useful in this regard; then again, Q2000 and GTS450 are very, very similar, much more so than other GeForces are to their equivalent Quadros, with maybe the exception of a K5000/GTX680 4GB variants - in that they have the same amount of VRAM. I haven't tried flashing a full strap-adjusted K5000 BIOS onto my GTX680 yet - it is on my ever-growing TODO list. :(

In case of the GF106 GPUs (GTS450/Q2000) I suspect the missing functionality is cut out of the GPUs before packaging, and if that is the case, the chances of restoring this are non-existant.

Note, however, that modifying a GTS450 into a Quadro 2000 does produce some performance benefits - Maya scores, although still far behind a real Quadro 2000, go up by around 40% after modifying the card. In case of the GTX470/Q5000 and GTX480/Q6000 mods, there are also other performance improvements, to be gained, such as enabling the second DMA channel (DMA transfers become bidirectional rather than unidirectional), which can significantly boost DMA transfers to/from the GPU, depending on the workload you are throwing at it.

Unfortunately, the same improvements do not hold in case of GTX580/Q7000 mod - all results remain exactly the same on that. Other people have reported similarly unchanged results on later GPUs. There also appear to be no bidirectional DMA capabilities on the newer GPUs.

General update:

I have just spent a few hours messing about with a GTX470/Q5000 BIOS modding, and one thing that seems quite certain at the moment is that a GTX470 will not work with a strap-modded Q5000 BIOS. The machine boots, but graphical output is corrupted when not in text mode (at least in Windows), and as far as I can make out GPU-Z isn't showing the card's capabilities properly (e.g. 0MB of RAM). I suspect a major part of this is down to the fact that a Q5000 has 2x the RAM of a GTX470, but I have not been able to establish where the memory size is stored in the BIOS by looking at things like very similar GTX580 cards that have the same BIOS version number but different RAM size (e.g. MSI produced GTX580s with 1.5 and 3GB of RAM which have the same BIOS version numbers). I narrowed the BIOS differences down to 5 possible locations (I think) by excluding things like the board, boot string, and checksum related differences, but it is not at all obvious whether the memory size is even encoded in the BIOS, let alone how.

If anyone cares or is interested in investigating further, the full hex diff between the 1.5 and 3 GB card variants is here:

Code: [Select]
$ diff <(xxd MSI.GTX580.1536.110715.rom) <(xxd MSI.GTX580.3072.110504.rom)
4c4
< 0000030: 0100 0000 c000 8d4e 3037 2f31 352f 3131  .......N07/15/11
---
> 0000030: 0100 0000 c000 8d4e 3035 2f30 342f 3131  .......N05/04/11
6c6
< 0000050: e986 2a00 6214 6025 ffff ffff 0000 0000  ..*.b.`%........
---
> 0000050: e986 2a00 6214 6225 ffff ffff 0000 0000  ..*.b.b%........
12c12
< 00000b0: 3136 3100 0000 0000 0000 0000 0000 0000  161.............
---
> 00000b0: 3133 3000 0000 0000 0000 0000 0000 0000  130.............
1189c1189
< 0004a40: 0000 1f01 0000 0023 6220 0300 3313 2003  .......#b ..3. .
---
> 0004a40: 0000 1f01 0000 0023 6230 0300 3313 2003  .......#b0..3. .
1191,1192c1191,1192
< 0004a60: 7f07 0000 008f 0000 0000 9f01 0000 00af  ................
< 0004a70: 0200 0000 bf03 0000 00cf 0400 0000 df05  ................
---
> 0004a60: 7f07 0000 008f 0000 0000 9f01 0000 00a3  ................
> 0004a70: 6230 0300 bf03 0000 00cf 0400 0000 df05  b0..............
1622,1623c1622,1623
< 0006550: 0c19 0000 0c06 0e26 003e 001b 000c 0c0a  .......&.>......
< 0006560: 0a0a 0100 0000 0200 160a 0500 0405 0407  ................
---
> 0006550: 0c19 0000 1006 0e30 0078 0020 0010 100e  .......0.x. ....
> 0006560: 070b 0100 0000 0200 170b 0500 0405 0407  ................
1646,1647c1646,1647
< 00066d0: 0000 0000 0014 730f 0064 3610 0020 8169  ......s..d6.. .i
< 00066e0: 0050 2200 00ac 53ff ff14 730f 0064 3610  .P"...S...s..d6.
---
> 00066d0: 0000 0000 0014 730f 0038 6710 0020 8169  ......s..8g.. .i
> 00066e0: 0050 2200 00ac 53ff ff14 730f 0038 6710  .P"...S...s..8g.
1660c1660
< 00067b0: 1001 0111 750d 714c 0000 c409 0010 0000  ....u.qL........
---
> 00067b0: 1001 0111 840d 824c 0000 c409 0010 0000  .......L........
2008c2008
< 0007d70: 0090 4402 0090 4401 0090 4402 0090 4402  ..D...D...D...D.
---
> 0007d70: 0090 4402 0090 4401 0090 5502 0090 4402  ..D...D...U...D.
3648c3648
< 000e3f0: ffff ffff ffff ffff ffff ffff ffff ff35  ...............5
---
> 000e3f0: ffff ffff ffff ffff ffff ffff ffff ff10  ................

I'm reasonably confident that the 1st, 3rd and last blocks of the diff are not relevant (last is the checksum, the the 1st and 3rd are board IDs).

Since differences between the GTX480/Q6000 and GTX470/Q5000 are negligible, I rather doubt that a Q6000 BIOS will work on a GTX480. I will double-check that when my faux-Q6000 is available for experimentation again.

Regarding the Quadrified/Gridifed GTX680's bizzare problem of refusing to work with DL-DVI outputs (at least in XP64, not tried on Windows 7 yet), I ordered an active DP->DL-DVI adapter. DP works quite differently to DVI, so there is a reasonable chance that this will handle the DL output signal. If it turns out to work, although not a proper solution, at least it will be a very good workaround.

Update: As a random factoid, Fermi Bios Editor doesn't actually understand how to parse a genuine Quadro 5000 BIOS (but parses a standard or modified GTX470/480 BIOS just fine).
« Last Edit: September 15, 2013, 11:12:02 pm by gordan »
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #558 on: September 17, 2013, 11:32:09 am »
quadro 6000 has 448 rops and 6gb of memory with 384 bit memory layout, gtx 470 matches that. the gtx 480 does not match any quadro.

also remember they replaced some boards with GF110 equivalent so there are variant (quadro 4,5,6000) out there as well which are definitely not going to work..

the quadro 5000 is 320 bit memory but but only 352 cores, the 6000 is 384-bit and 448 cores. Geforce cards need to match both cores and bit-wise ram. I think that is the problem you match on cores but not ram, that's definitely not going to fly.

Too many variants it seems..
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #559 on: September 17, 2013, 12:15:46 pm »
Q5000 has 320-bit memory bus like the GTX470.
Q6000 has 384-bit memory bus like the GTX480.

The key problem is matching the memory bus with and the amount of RAM. For example, this morning I successfully flashed the complete K5000 BIOS onto my 4GB GTX680. It works absolutely fine. When flashing the Q5000 BIOS onto a GTX470, it works fine in text mode, but there is massive corruption in graphical modes - I suspect because the BIOS expects there to be double the RAM, and things go wrong when it's not there.

On the subject of a 4GB 680 with a K5000 BIOS - there is no obvious performance boost in SPEC (I didn't wait for it to finish, I just watched through the first few seconds of the catia benchmark and it was as dire as usual, but maybe it's worth comparing the whole lot to see if anything changes). The ECC memory feature, however, appears in the Windows driver, and it seems to stick after a reboot. So it _appears_ to be working, but I am not convinced that it is actually doing anything - the amount of VRAM is still 4GB; I would expect it to reduce. In Linux, nvidia-smi just reports that ECC is not available when you try to set it.

So in conclusion - in cases where you can flash a whole Quadro BIOS onto a GeForce card it does very little other than slow it down, through Quadros having slower clock speeds pre-programmed.
ECC sort of almost looks enablable, but doesn't appear to do anything. I have no cosmic ray generator handy so I cannot easily test whether it actually works, I am purely going on the fact the RAM amount doesn't reduce, but maybe the shown value of RAM is the raw RAM, not post-ECC RAM. nvidia-smi in Linux claiming that ECC is not available on the card is more of an indication that it doesn't actually work. The toggle setting survives reboots and moving the card to another machine.

I have not tried Mosaic since it doesn't work on XP, nor have I tried any 3D stuff since I have no way of testing it at the moment.

So in conclusion - yes, you can get a Quadro BIOS onto a GeForce and make it work, provided you have the same amount of RAM on the GeForce (e.g. 4GB GTX680 with a K5000 BIOS). But it doesn't actually gain you anything. You can even go and edit the BIOS using the Kepler BIOS Tweaker and put the clocks back where they were on the GeForce BIOS - that gets you the performance back. But there is nothing there that you couldn't have achieved with just modifying the original BIOS.
 

Offline Jager

  • Contributor
  • Posts: 30
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #560 on: September 17, 2013, 08:18:24 pm »
Gordan, can you check if Manage 3D settings is different with K5000 bios? It should look like this with quadro --> http://www.planar.com/media/245367/3d-ready-config-3.jpg
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #561 on: September 18, 2013, 03:37:45 am »
my mongoloid 1/2 of the quadro plex 7000 (GF100 quadro 6000) when flashed to 06d8 does ECC. This is evident with the reduction of ram from 6gb to 5.3gb and the benchmarks slow likewise since you have the overhead of the extra bit of data from gpu to ram to bus (end to end ECC). You should see a reduction in overall performance.
 
So i'm guessing that the ECC is not working if you do not see a linear reduction of performance along with reduction in ram..

 

Offline baconsteak

  • Contributor
  • Posts: 12
  • Country: au
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #562 on: September 18, 2013, 06:44:48 am »
Are you sure this works on a genuine FX3700? I have a laptop with a genuine FX3700M in it, but I don't recall seeing any extra options in the settings compared to a GeForce 260M it replaced. If you tell me what exact options you expect to see, I can look for them and report back.

Under manage 3d setting there should be a Stereo-enable option.

I'm fairly certain it should be there. Your FX3700M might not have it unless it has a stereo connector or you have a 3d vision unit with approprate drivers.

There is definately something else being checked by the driver. I found an old driver patch that enables the options and page flip stereo works but at the same time the mod destroys open gl performance and playback is jerky.
 

Offline jmecherul

  • Newbie
  • Posts: 4
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #563 on: September 18, 2013, 02:00:47 pm »
Hi all

It has been fun reading this whole post and some other information.

I have a K20 card that my company bought along with a Quadro K600 in my main machine.  I use the K20 to do electrical simulations with a 3D full wave simulator, so we are all good there.

I have an older version of the 3D simulator that will not recognize my K20 card, and I would still like to use it to do some simulations as I think the latest version is somewhat flawed, but it will take forever to use just the processors in my workstation.  That software works with with the C20xx/M20xx versions of the Fermi silicon.

I am thinking about getting a GTX580 or GTX590 card on the cheap and modding it into a C20xx/M20xx card.  I know it will not be as fast as the professional cards have more memory, but I would like to try and see what kind of acceleration I get.

Now, I have searched here and elsewhere on the internet, and I could not find any instructions how to hard-mod or soft-mod the straps from the gtx5xx cards to the c20xx counterparts.   I see some people here has done it, so any help that you can shoot my way would be greatly appreciated.  I am good with soldering (have IPC training) and would be  more comfortable with replacing resistors so pictures would be helpful.  I can do the soft-mod too, but I am a little more handicapped at working with a hex editor and flashing firmwares and the likes.

Thank you very much in advance.
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #564 on: September 18, 2013, 08:40:02 pm »
@Jager, baconsteak:
I'm going to have to disappoint you - the stereo options don't appear in the control panel. It does appear on my genuine Q2000. It is possible one of the unknown strap bits have an effect, but it will be a while before I can test this.

The ECC is togglable (to no effect) on bare metal, but not from a VM. There must be some NVRAM somewhere on the card that saves the setting, but virtualization layer doesn't let it through (in the same way that BIOS access to the card crashes the host).

@jmecherul:
I am the one that soft-modded a GTX580 into a Q7000. This should be just as easily modifiable into a Tesla M2090 if that is what you prefer. I never bothered looking for the hard-strap resistors since a BIOS mod was sufficient. A GTX590 looks like it should be modifiable into a pair of Tesla M2090s.

I don't have my GTX580 any more (sold it, didn't have a use for it since it didn't work in a VM), but I do have the modified BIOS. If you get a 3GB Gainward Phantom I can send you a hex diff between the original and my modded BIOS (can also change it for you to ID the card as a M2090 if you like).

I will write a crash course on modding, but finding time to put all the info together and then test it by following my own instructions has been somewhat difficult recently.

If your kernels work well on Fermi chips, and you are not particularly limited by the amount of RAM on the card you may find that a modified GTX480 (C2050) works better for you - unlike later cards, that has a bidirectional async DMA engine. I guess it depends on whether you are more limited by the amount of RAM on the card (1.5GB on GTX480 vs. potentially 3GB on some GTX580s) or by cudamemcpy() I/O. In terms of raw number crunching power, GTX480 and 580 are similar enough for it not too matter too much (480 vs 512 shaders isn't that big a deal).

On an earlier note, regarding the weird issue that only makes SL-DVI modes work when in a VM in XP64 - I tried using the DB with an active adapter. The monitor gets recognized, but no modes work via DP - always just a blank screen. It is really most bizzare that this happens only in a VM and not on bare metal. I haven't done any modifications to my GTX690 yet so I don't know yet whether that will suffer from the same issue. On one hand I'm surprised it hasn't come up in anyone else's use-cases, but this is the sort of thing that likely only manifests in cases where:
1) A Xen VM is used with VGA passthrough
and
2) XP is used
and
3) DL-DVI monitor is used (1920x1200@60Hz does not require DL and relatively few people use higher res screens)
« Last Edit: September 18, 2013, 09:18:45 pm by gordan »
 

Offline jmecherul

  • Newbie
  • Posts: 4
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #565 on: September 19, 2013, 02:26:12 pm »
Hi Gordan

Thanks for the reply

I tried searching for Gainward card to buy, but I cannot seem to find any.  Thanks a bunch for offering to even modify the BIOS for me.  That would be great.

The soft I am using does work OK with Fermi chips, but I am indeed limited by the amount of memory.  My K20 has 5GB right now, and I find myself maxing it quite often (run a lot of mesh cells  in my simulation software), so I would rather get a card with as much memory as possible.  I would go for a GTX590 (to get two M2090s), but they are a little expensive for my experiment.  I can find GTX 580 with 3GB ram for around $200 on ebay right now, which seems decent to get one M2090 our of it. 

The hard part is how to get this done.  Do all GTX580s follow the reference design, or are some brands better than others at modding?  Your help in getting me started is much appreciated.  By the way, I do not need the display to work with this card as I have separate Quadro card for that.

Thanks once again.
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #566 on: September 19, 2013, 08:14:14 pm »
It sounds like a 3GB GTX580 would be your best bet.

Following the reference design is irrelevant for soft-mods. All you need to do is modify a few bits in the straps (16 bytes + strap checksum starting at offset 0x58 in the BIOS dump) the device ID in the BIOS at offset around 0x18E, and the BIOS checksum (last byte in the BIOS). Modifying the boot string and the board ID string is optional but I'm pretty sure these are just human readable fields that don't actually do anything of consequence.

Checking my various notes, there are at least 32 bits in the strap (a whopping half! I never counted them before! 0,7-9,16-21,29-30,32-35,37-47,56-62) for which I didn't establish what they do, but toggling some of them caused my sacrificial GTS450 to become unbootable (not detected at all). If I'm reading my notes right (and I really hope I am), the bits that bricked the card include 16,17 and 31.


Perhaps I should re-test the bits that didn't brick the card for other potential functionality such as enabling stereo 3D functionality or ECC. The only snag is, Q2000 (what my sacrificial GTS450 is equivalent to) doesn't support ECC, so this wouldn't show up, and I'm not sure I can be bothered right now to solder a switch across the EEPROM pins (for de-bricking purposes) on my GTX470/Q5000 card.
 

Offline jmecherul

  • Newbie
  • Posts: 4
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #567 on: September 19, 2013, 08:44:10 pm »
yeah, a 3gb GTX580 would be my best bet

that sounds utterly complicated for my hardware brain.  I would rather solder resistors.

what tools would i need to get this accomplished?  which bits do i need to change and to what values?  how is the checksum exactly calculated in there?  a lot of questions.

thanks.
 

Offline jmecherul

  • Newbie
  • Posts: 4
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #568 on: September 19, 2013, 08:49:08 pm »
probably consumer video cards so not have ECC type memory in there.  I would not really need 3D functionality or anything fancy.  This is strictly numbers crunching. 

if you have time to create a detailed how to guide to turn that GTX580 into a M2090 would be greatly appreciated.  Or, a guide for multiple cards.

or as you suggested, i would dump the bios (if you tell me which tool to use), pm it to you and you can change it to whatever to make the card a M2090.

thanks once again
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #569 on: September 20, 2013, 01:15:07 am »
ecc works differently with the gpu. Yes the gpu has ecc end to end but the ram is just soft-ecc, it takes a bit so the quadro 6000 goes down to 5.3gb and the bandwidth and performance likewise goes down.

Remember the old core 2 xeon's did not have FSB parity - the memory controller did the parity. However the odd bird is my mac pro which uses the x58 chipset can run with or without parity even though the cpu (xeon) is parity only. not sure how that works.

So you might have a GPU with parity (cache/address/data lines) but the nvidia cards do not have ECC ram at all. It is just taking 1 bit out of regular ram. Which makes sense since parity ram in regular motherboards is just another chip.

I suspect geforce cards just have it disabled.

The rom if you think about it (bios) tells the system about the card, and does basic functions (during boot) but also functions to configure the GPU. It is likely that very little of the bios is for the computer, and the rest is used to program/patch the GPU.

Now if the functions are disabled on the gpu itself (VGX on GK104/GK107/GK110) then you are going to have little luck trying to enable them, but I'd guess if you could find "beta" cards they may have the functionality still left in.

I was trying to think of where you might find such beta cards, or if they are all destroyed? That would be the key.

Some idiot sold me a raid controller with pre-release firmware (didn't bother to flash it) and it did not behave like the production board, it was running too hot and was even faster than the production model. odd.

Anyone have any ideas where to score some pre-release quadro/geforce cards?
 

Offline baconsteak

  • Contributor
  • Posts: 12
  • Country: au
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #570 on: September 20, 2013, 11:30:42 am »
how is the checksum exactly calculated in there?

You can use the nvflash tool to modify the straps and it calculates the checksums for you. I'm completely noob and I managed to do it but it took me hours to wrap my head around it. I followed this guide. I'm sure one of us can help you out if you're stuck.

Thanks for the help gordan.
That sucks that nothing in the bios seems to control whether the 3d stereo function exists. I guess I will have to look for a second hand quadro with a power connector so I can overclock and still game.
 

Offline gordan

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: 00
    • Tech Articles
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #571 on: September 20, 2013, 08:29:03 pm »
I think the odds are about even at the moment on whether the extra quadro functionality is disabled in silicon (e.g by laser cutting) or whether it is disabled by some of the unidentified strap bits. Or it could be done by a FPGA that is programmed differently on the GeForce without exposed pins for programming it in the field. There are many possibilities. There are also a LOT of unidentified strap bit (32) and it could be any one of those or a combination thereof that affects any of the functionality in question. That's potentially 2^32 combinations to try. That's several thousand times the life expectancy of the EEPROM chip, so you better stock up on them if you want to undertake this. In fairness, though, it is likely that if the bit does control come functionality (as opposed to being merely unused), single bit flipping is likely to reveal some indication of what it does.

Also bear in mind that strap bits might do a different thing on Kepler than they do on Fermi. The ones I've been playing with that I identified on Fermi seem to do the same thing on Kepler, but some that might not have done anything on Fermi might do something on Kepler (wouldn't it be nice if one of those bits handles the next bit of the device ID strap so we can avoid soldering resistors to change the ID...).

Either way, it's an adventure for someone with waaaaaaay more time on their hands than I am ever likely to have.
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #572 on: September 20, 2013, 09:05:08 pm »
It seems the new GK208 2GB GDDR5 64bit GT 640 would be a good candidate to cross-flash! But the straps are hard!

The better one would be the K2000 quadro since it sits right over the GRID so a small bit 0/1 AND mask could push it down plus it has the GK107 that seems to be so popular.

If there was only some sort of program that could run diagnostics on cards, we could collect information and locate the chips that have features enabled (mistake/or nobody cared!). Something folks could run that would use advanced nvidia technology to get information from the cards. :( Someone like the GPU-Z folks could distribute the technology and collect information.

Given that there are so many variants these days, I am going to guess that going Quadro to Quadro might be  better option! Worst case you have a quadro - cheap
 

Offline mrkrad

  • Contributor
  • Posts: 37
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #573 on: September 25, 2013, 10:57:03 am »
I was thinking about getting a new card, anyone have suggestions? K5000 could be doable but K6000 or Grid K1 not (unless someone can find a workstation that sells with one!)

Could also get a K4000/K2000 but the idea would be to find a similar match that has the feature set we are looking for.

It seems that some kepler may have VGX (or ability) but nobody really knows.

Also the K340/K520 grid (not much known about this) is a variant.

Anyone know which chipsets the GRID use? Could get a Kepler based on the same chipset to see if its got any of the features en parity?
 

Offline aktivb

  • Newbie
  • Posts: 1
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #574 on: October 02, 2013, 05:14:32 pm »
I have a Asus GTX 650Ti on the shelf, GK106-220-A1 as by
http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units#GeForce_600_Series

Would this be modifiable to a K4000, GK106 as by
http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units#Quadro_Kxxx_Series

I am guessing the answer is 'Maybe', since I have not seen anyone
attempt this in the thread so far. I saw verybigbadbody modified a 650 (GK107-450-A2) into K1 here:
https://www.eevblog.com/forum/chat/hacking-nvidia-cards-into-their-professional-counterparts/msg235610/#msg235610

The thing is, I have no idea how to start in locating straps, but if someone like
gnif, verybigbadboy or gordan would like to have a go at it, I would gladly ship
it over. (provided I get it back if the mod succeeds).

Would anyone like to have a go at mapping out a new card?

I can also provide high-res pictures of the card upon requests.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf