2011-08-28 66 views
1

我想開始使用英特爾的陣列構建模塊,並且似乎只有一個關於「Hello World」的教程,位於http://www.hpc.lsu.edu/training/tutorials/sc10/tutorials/SC10Tutorials/docs/M07/M07.pdf。我真的不明白。帶有Intel ArBB的Visual Studio 2010上的Hello World?

我正在使用Visual Studio 2010,這是我從上面的鏈接得到的代碼,還挺。

#include <C:/Program Files/intel/arbb/Beta6/include/arbb.hpp> 
//What do I have to do to make just "#include <arbb.hpp>" work? 

using namespace arbb; 

void my_function(f32& result, f32 input){ 
    std::cout << "Hello, world!" << std::endl; 
    result = input + 1.0f; //"Error: no operator "+" matches these operands 
} 

int main(){ 
    typedef closure<void (f32&, f32)> mfc; 
    mfc a = capture(my_function); 
    mfc b = call(my_function); 
    mfc c = call(my_function); 
} 

我還需要做什麼才能讓「Hello World」工作?

+0

這非常含糊。絕對是Project + Properties,C/C++,General,Additional Include Directories設置。 –

回答

0

arbb安裝路徑中有很多示例可用。您可以使用Visual Studio解決方案文件從任何示例開始。這是最簡單的方法。

爲了從頭開始編譯和運行自己的應用程序,必須設置包含和依賴關係。

在Linux上,你可以添加路徑〜/(任何)/英特爾/ arbb/Beta6使用-I

在Windows編譯選項/包括,你可以這樣做: 將納入= C:/ Program Files/intel/arbb/Beta6/include/arbb.hpp;

或者有一個批處理腳本,可以確保默認情況下設置所有的環境變量。

---批處理文件的內容---

SET ARBB_OPT_LEVEL = O3 SET PATH =%ARBB_ROOT%\ bin中\ IA32;%ARBB_ROOT%\ bin中\ IA32 \ VS%MSVS_VERSION%;%OPENCV_ROOT %\ BIN;%FFTW_ROOT%;%FREEGLUT_ROOT%;%PTHREADS_ROOT%\ lib中;%PATH%

----這裏是arbb Hello World程序---

#include <arbb.hpp> 

void arbb_hello_map(arbb::i32& val) 
{ 
    val = val * 2; 
} 
void arbb_hello(arbb::dense<arbb::i32>& data) 
{ 
    using namespace arbb; 
    map(arbb_hello_map)(data); 
} 

int main() 
{ 
    using namespace arbb; 
    int size = 5; 
    dense<i32> data = dense<i32>(size); 
    range<i32> write_data = data.write_only_range(); 
    for (int i = 0; i < size; ++i) 
    write_data[i] = i; 

    arbb::call(arbb_hello)(data); 
    std::cout << "hello: " << std::endl; 
    const_range<i32> read_data = data.read_only_range(); 
    for (int i = 0; i < size; ++i) 
    std::cout <<"data["<<i<<"] = " << read_data[i] <<"\n"; 
    return 0; 
} 

而且使用編譯

g++ -m64 -I/home/YOUR_NAME/arbb/install//include -Wall -Werror -O3 -W -Wshadow temp.cpp -o temp -L/home/YOUR_NAME/arbb/install/lib/intel64 -larbb_dev -ltbb -littnotify 

運行它使用 ./temp

相關問題