{"id":246,"date":"2021-07-07T01:54:16","date_gmt":"2021-07-06T23:54:16","guid":{"rendered":"https:\/\/threedots.ovh\/blog\/?p=246"},"modified":"2021-07-07T01:54:16","modified_gmt":"2021-07-06T23:54:16","slug":"nvidia-gsp-firmware","status":"publish","type":"post","link":"https:\/\/threedots.ovh\/blog\/2021\/07\/nvidia-gsp-firmware\/","title":{"rendered":"NVIDIA GSP Firmware"},"content":{"rendered":"\n<p>On recent driver revisions for Linux x86_64 (this does not apply to AArch64 NVIDIA drivers at this time), NVIDIA shipped firmware for a new coprocessor, the <a href=\"http:\/\/us.download.nvidia.com\/XFree86\/Linux-x86_64\/470.42.01\/README\/gsp.html\">GPU System Processor<\/a>. This coprocessor uses the RISC-V instruction set.<\/p>\n\n\n\n<p>The current revisions of the GSP firmware has code for TU10x (Turing), GA100 (Ampere datacenter), GA10x (Ampere) and G<em>next<\/em> (Ampere Next). This firmware is shipped in tandem with a new driver, its version corresponding to the driver revision.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>% file gsp.bin \ngsp.bin: ELF 64-bit LSB executable, UCB RISC-V, soft-float ABI, version 1 (SYSV), statically linked, stripped\n% ls -lh gsp.bin\n-rwxr-xr-x  1 root  wheel    34M Jun 15 23:32 ..\/firmware\/gsp.bin<\/code><\/pre>\n\n\n\n<p>This allows to offload a significant portion of the driver to the GPU itself. The practical consequences to that are to be investigated more. (notably, could be quite useful for an OSS driver project, by having the code running on the main CPU being fully open-source)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On recent driver revisions for Linux x86_64 (this does not apply to AArch64 NVIDIA drivers at this time), NVIDIA shipped firmware for a new coprocessor, the GPU System Processor. This coprocessor uses the RISC-V instruction set. The current revisions of the GSP firmware has code for TU10x (Turing), GA100 (Ampere datacenter), GA10x (Ampere) and Gnext&hellip;&nbsp;<a href=\"https:\/\/threedots.ovh\/blog\/2021\/07\/nvidia-gsp-firmware\/\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">NVIDIA GSP Firmware<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":1,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":247,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/posts\/246\/revisions\/247"}],"wp:attachment":[{"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/media?parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/categories?post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/threedots.ovh\/blog\/wp-json\/wp\/v2\/tags?post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}