任天堂早就賺飽了吧w

http://blog.livedoor.jp/htmk73/archives/621167.html

岩田社長が決算説明会の質疑応答でおまえらやマスコミの報道に怒りのコメント

他根本在演戲吧w

想到這個:

http://vipper2ch.blog94.fc2.com/blog-entry-457.html

任天堂は従業員1人辺り、約10億円の売上高を上げているらしい

現金存量不知道有多可怕的地步w

(雖然任天堂CM用超兇的)

——-

http://forums.nvidia.com/index.php?showtopic=84440

NVIDIA CUDA FAQ version 2.1

CUDA FAQ #34:

Is it possible to run multiple CUDA applications and graphics applications at the same time?

CUDA is a client of the GPU in the same way as the OpenGL and Direct3D drivers are – it shares the GPU via time slicing. It is possible to run multiple graphics and CUDA applications at the same time, although currently CUDA only switches at the boundaries between kernel executions.

The cost of context switching between CUDA and graphics APIs is roughly the same as switching graphics contexts. This isn’t something you’d want to do more than a few times each frame, but is certainly fast enough to make it practical for use in real time graphics applications like games.

咦?這樣說來其實CUDA的application和graphics一樣,都得靠content switching來切換….所以說G80~GT200都沒有同時執行VS、PS的能力?這好像不太對…或者說,同樣都是time sharing的狀況下,G80~GT200都有點像single thread的CPU、而ATI從Xenos以來都一直有mutli thread的能力…. 嘿,考慮VLIW下的R600還是常有60%的worst case,這樣我還真不知道哪邊效率高w

不過如果想想Fermi相對於G80~GT200有10倍的改善這點,改變之後是20~25 microsecond(µs)的話,那就算是10倍也大概是300µs前後,好像真的不會差很多。重點可能還是在16個SM都可以各自執行不同的kernel這點也說不定。雖然這對手早就做了w

http://www.anandtech.com/video/showdoc.aspx?i=3334&p=6

Derek’s Conjecture Regarding SP Pipelining and TMT

In G80 and GT200, because of the fact that context is stored per warp, even though the SPs are working on an instruction for a different thread in every pipeline stage, they are not working on a different context at every pipeline stage. Each SP processes four threads in a row from the same warp and thus from the same context. Because it is incredibly likely at 1.5GHz that the SPs have more than 4 pipeline stages, we will still see more than one context switch within the pipeline itself, but it still isn’t down to a different context for every stage.

http://zergone.blogspot.com/2009/10/fermi-technology-unveiled.html

Fermi technology unveiled

http://techreport.com/articles.x/17670/2

Better scheduling, faster switching

“Fermi avoids this inefficiency by executing up to 16 different kernels concurrently, including multiple kernels on the same SM. The limitation here is that the different kernels must come from the same CUDA context-so the GPU could process, say, multiple PhysX solvers at once, if needed, but it could not intermix PhysX with OpenCL.”

看起來主要的限制就是不能夠好幾個不同的程式同時利用GPU….不過本來的話同一個application裡面同時有graphic和CUDA似乎也不會有這個問題,只是Fermi效率應該會更高點。

To tackle that latter sort of problem, Fermi has much faster context switching, as well. Nvidia claims context switching is ten times the speed it was on GT200, as low as 10 to 20 microseconds. Among other things, intermingling GPU computing with graphics ought to be much faster as a result. (Incidentally, AMD tells us its Cypress chip can also run multiple kernels concurrently on its different SIMDs. In fact, different kernels can be interleaved on one SIMD.)

—–

http://www.intrinsity.com/index.php/articles/64-hot-rodding

Hot-Rodding the Cortex-A8

Because Fast14 logic gates are 25% to 50% faster than static logic gates, the processor can do more work per clock cycle without altering the basic design of the instruction pipelines and functional blocks. Fast14 is particularly efficient for muxes and other elements with wide structures. Intrinsity also uses optimized static logic, custom circuits, and standard cells. (See MPR 8/13/01-02, “Intrinsity’s Dynamic Designs.”) Figure 1 shows Intrinsity’s design flow.

在〈任天堂早就賺飽了吧w〉中有 7 則留言

  1. 應該是說以前的GPU,GPGPU或Rendering,
    都是靠content switching分享, 因為Rendering
    是透過繪圖API,而CUDA不是透過繪圖API,
    所以不能一起跑,必須time sharing.
    等Physx(CUDA)跑完了再切換做繪圖…..
    至於一起跑VS,GS,PS一直都是沒有問題的.
    (雖然必須以多SP一組為單位做切換)
    對整個GPU來說算是single thread,
    只能做繪圖或CUDA其中之一,
    但對SM來說是Multi Thread
    一個SM裡面可能有很多VS,GS,PS的mini thread,
    但都來自同一個的D3D的Rendering Thread.(kernel)
    GPU之前multi-thread都是指內部處理
    之前的解決辦法是儘量加快content switching的速度.
    但最好不要在一個frame中做太多切換…..
    ….現在只是省掉切換的時間
    Fermi的進步是GPU可以同時有CUDA和繪圖
    多種不同的Content.切換工作不會造成運算停頓.
    ATI應該也是R800時代才能Multiple Kernel.
    不過以前就算有,也沒有軟體能發揮….
    VLIW的worst case,就算Multiple Kernel也不會變.
    因為那是架構的天性,不管Shader單位有幾個Kernel可
    以切換,每組SIMD每cycle也只能跑一個Kernel.
    Compiler還是會有填不滿VLIW單位的問題.
    能省的也只有OpenCLOpenGL切換的浪費.

  2. 所以content switching本來是看API的,那難怪CUDA會頭痛了,這樣看ATI其實也是在說風涼話而已。
    話說rendering thread數=kernel數?那現在支援multi-thread其實就是為了multi-kernel嘍。
    Fermi目前來看只要「一個application」裡面有多種不同的thread應該都沒問題,不過multiple application還是沒辦法的樣子。

  3. 之前想的好像不太正確…..再來推測一次.
    Fermi的改進分兩種方向來思考.
    1.Faster switching
    2.Better scheduling
    “Context”是使用GPU運算的一筆工作,
    CUDA或3D繪圖都算是Context.
    目前SM一瞬間還是只能有一個Context.
    做完再切換到下一個Context.
    Fermi的改進: 提升Context切換速度.
    所以從CUDA切換到D3D會快10倍.
    Multiple application的話,反正只要切換夠快,
    就沒什麼問題…怎麼實作都沒講,無從評論.
    Kernel則是構成Cuda Context的一連串工作,
    不同Kernel負責不同工作,
    例如Physx的流體模擬Kernel和剛體運算Kernel.
    雖然Scalar的SP沒有Data Dependency的問題.
    理論上任何指令都能滿載運算.
    但是SM的32SP必須執行相同運算,
    類似32bitx32way的超寬向量單位.
    丟給GPU的資料量必須夠大不能太索碎,否則
    CUDA的一個Kernel同時處理的資料量可能
    餵不滿一個SM的32SP,產生部份SP閒置.
    繪圖只要一次算夠多Pixel就不怕SP閒置.
    但是GPGPU未必能找到這麼大的資料來算.
    以前一組SM只有8SP問題不大,
    但是GT300變成32SP,效率有可能明顯下滑….
    Fermi的改進: 透過硬體Schedualer允許SM同時跑
    多個Cuda Kernel提升運算效率.
    例如一次跑2組16個資料的Kernel填滿32SP.
    (應該仍有SM的SP須執行相同運算的限制)
    再透過16組Load/Store把分批搬移這多組資料
    所以說這改進可能是因為SM變成32SP.
    為了避免效能下滑而必須做的架構改善.
    把SM變成32SP應該是為了拉近單位面積運算密度.
    GT200是每8SP就耗費一組Schedualer電晶體
    RV770用VLIW卻是把Schedualer用軟體取代….
    NV在架構不大改的前提下, 把4組SM打散合併
    32SP共用2組Schedualer….加上改384bit.
    應該可以追回一些運算密度上的差距.

  4. thanx for telling me here .actually i have also this question in my mind that
    Is it possible to run multiple CUDA applications and graphics applications at the same time? and after reading this article now i can easily got answer of this question.

  5. 私の心の中で挨拶、ここで私をここに知るための door company.thanxからエミー。実際に私がまた、この質問には、
    複数のCUDAアプリケーションと同じ時間でグラフィックスアプリケーションを実行することが可能ですか?そして今、私がすぐにこの質問の答えが出たことは、この記事を読んだ後。

  6. Wow, an english comment but not a spam. That is unusual.
    to emmie:
    Hello. Thanks for your interesting on my blog.
    My english is very poor, so this reply may contain lots of error about english grammer, and sorry for that at first.
    The new architecture that Fermi introduced is turely dazzling, let we even forgive, the CUDA device from G80 to GT200 even is nearing single thread CPU.
    And for more flexable graphic applications that contain graphics and other non-graphic parts, Fermi finally fix that problem.
    Well, this problem is only appear at that application contains graphic and physX, so you can prepar a seaprate GPU or you may encounter with performance impact.
    I think NVIDIA is luckilly on this problem because there is other physics engine can run on GPU too, but it still can’t run on GPU that didn’t come from NVIDIA, there is not a performance compare between them.

  7. Tesla C2070的雙精度是630Gflops,如此推算SP頻率僅僅1.26Ghz。
    跟gt200時候一樣,規模翻倍了,但頻率降低了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料