For the Tesla to work you need to enable “Above 4G decoding” in bios, disable CSM and have an EFI boot. Also, Teslas are built for servers, don’t have a fan so you need to have it added if you’re running this in a desktop case.
If this is an uefi board, then you still have csm enabled because the linux install uses a mbr boot. So you will also have to reinstall it after really disabling csm.
64bit resources have nothing to do with the OS, it’s provided by the bios (after enabling “Above 4G decoding/ 64bit BARs”).
The CSM in modern UEFI firmwares is very limited, not capable of much.
so it may be possible that the board is not capable of above 4G decoding. but it sounds strange to me, because I had mounted on the same machine an rtx3060…
Teslas want to map their whole video memory into system address range, 24GB obviously needs 64bit address space.
Normal graphics cards like the 3060 only map 256MB (unless the bios supports rBAR).
Does the bios have a 4G option?
The issue isn’t always that the motherboard lacks support for large PCI address spaces. Sometimes, the BIOS is technically capable of handling it but fails to properly assign the correct memory regions. This can happen due to firmware bugs, misconfigured PCIe resource allocation, or simply because the BIOS doesn’t know what to do with certain devices. As a result, the GPU gets assigned invalid or unusable memory addresses, making it non-functional.
Luckily, Linux can override this faulty allocation by forcing the kernel to reassign PCIe memory regions dynamically. Adding pci=nocrs to the boot parameters tells the system to ignore the BIOS-assigned addresses and handle PCI resource allocation on its own, which often fixes the issue.
I successfully got the Tesla M40 (2015) running on 2013 hardware, even though it initially refused to work at all. The issue was with PCIe memory assignments, BAR2 and BAR3 weren’t properly allocated. After tweaking the PCI address space and ensuring the correct BAR sizes, the card is now fully functional and running perfectly on a 2013 motherboard with an extremely outdated firmware.
Hello, I am trying to use a 20-year-old server to run the M40 graphics card, but now I am encountering a problem. The server has been unable to read the M40 computing card, but replacing it with a regular graphics card can read it. Do you have any good methods to help me read the graphics card? My server is HP DL380 Gen6, and the graphics card is TESLA M40. Thank you very much