Visual Studio 11開發指南(18)C++11更新-自動向量器使用

來源:互聯網
上載者:User
自動向量器使用

在 MSDN 文檔中,現在編譯器自動效能方面的原因是有能力的"概述"迴圈和支援 SIMD 指令,這是大多數情況下調用自動效能的話,對於所有 X 86 處理器 / X 64 現代的處理器中啟動並執行速度要快 8 倍

與 Visual Studio 11 的預覽版本中,SIMD 指令和概述記錄是自動最佳化使用。

與 Visual Studio 2010 年 c/c + + 中下面的迴圈

 

1.for (int i=0;i <MAX_;i++)2.    {3.        a[i]=i*7.0;4.    }

 

給出下面的組譯工具代碼用於指令和寄存器操縱的浮點數。(fld、 fmul、 fstp、 fstp、 ST (1) (0)、 ST ))

1.; 38   :     for (int i=0;i <MAX_;i++)2. 3.    fld    QWORD PTR __real@401c0000000000004.    add    esp, 45.    mov    esi, eax6.    xor    eax, eax7.    mov    DWORD PTR _i$83361[ebp], eax8.$LN3@wmain:9. 10.; 39   :     {11.; 40   :         a[i]=i*7.0;12. 13.    fild    DWORD PTR _i$83361[ebp]14.    inc    eax15.    mov    DWORD PTR _i$83361[ebp], eax16.    fmul    ST(0), ST(1)17.    fstp    QWORD PTR [esi+eax*8-8]18.    cmp    eax, 100000000                ; 05f5e100H19.    jl    SHORT $LN3@wmain20. 21.; 41   :     }

 

Visual Studio 11 在相同的環路迴圈中,在預設情況下,下面的代碼是在組譯工具的特定的追蹤記錄代碼實現。(movsd、 超低、 cvtdq2pd、 xmm0、 xmm1 ))

 

 

1.; 38   :     for (int i=0;i <MAX_;i++)2. 3.    movsd    xmm1, QWORD PTR __real@401c0000000000004.    add    esp, 45.    mov    esi, eax6.    xor    ecx, ecx7.    npad    58.$LL9@wmain:9. 10.; 39   :     {11.; 40   :         a[i]=i*7.0;12. 13.    movd    xmm0, ecx14.    cvtdq2pd xmm0, xmm015.    inc    ecx16.    mulsd    xmm0, xmm117.    movsd    QWORD PTR [esi+ecx*8-8], xmm018.    cmp    ecx, 100000000                ; 05f5e100H19.    jl    SHORT $LL9@wmain20. 21.; 41   :     }

 

 

是可能要禁用此功能嗎?

是不足以轉到該屬性的 c + + 項目, 。代碼產生。啟用增強指令集和選擇號增強說明 (/ 拱: IA32) (預設情況下,它是沒有設定,這意味著是否啟用了自動向量化角),如所示

在測試機器,未設定,對應: SSE2.

它是影響效能嗎?

是對 1 萬的迭代迴圈,看下最佳化以後的效果

沒有說明

說明

自動並行

在文檔中表示,現在已經可以利用多處理器使用 VS 11的平行處理功能,就能夠啟動多核最佳化的功能。新的指令/Qpar ,可啟用此功能。

 

加速 c + + 的大規模平行處理 (AGP) 支援

VS 11 將使它也能夠利用 GPGPU 中的圖形卡的可能性。換句話說,它將可以混合使用傳統代碼 CPU 和 GPU 代碼。

 

趕緊下載VS11體驗吧

http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.