Rumah > Artikel > Operasi dan penyelenggaraan > Petua konfigurasi untuk membina aplikasi pengkomputeran berprestasi tinggi Linux menggunakan CMake
Petua konfigurasi untuk membina aplikasi pengkomputeran berprestasi tinggi Linux menggunakan CMake
Membangunkan aplikasi pengkomputeran berprestasi tinggi dalam persekitaran Linux adalah tugas yang mencabar. Untuk memanfaatkan sepenuhnya pemproses berbilang teras dan sambungan rangkaian berkelajuan tinggi, proses penyusunan dan pemautan program perlu dioptimumkan. CMake ialah alat binaan popular yang memudahkan proses binaan sambil menyediakan beberapa pilihan pengoptimuman. Artikel ini akan memperkenalkan beberapa teknik konfigurasi untuk menggunakan CMake untuk membina aplikasi pengkomputeran berprestasi tinggi Linux dan menyediakan contoh kod yang sepadan.
1. Pasang CMake
Pertama, kita perlu memasang alat CMake. Dalam kebanyakan pengedaran Linux, anda boleh memasang CMake melalui arahan berikut:
$ sudo apt-get install cmake
2. Cipta fail CMakeLists.txt
CMake menggunakan fail CMakeLists.txt untuk menerangkan peraturan binaan projek. Kami boleh mencipta fail CMakeLists.txt dalam direktori akar projek dan menentukan peraturan binaan di dalamnya.
Sebagai contoh, projek kami mengandungi dua fail sumber: main.cpp dan utils.cpp. Kami boleh mencipta fail CMakeLists.txt seperti berikut:
# CMake最低版本要求 cmake_minimum_required(VERSION 3.10) # 项目名称 project(MyApp) # 定义可执行文件 add_executable(MyApp main.cpp utils.cpp)
Dalam contoh di atas, kami mula-mula menentukan versi minimum CMake yang diperlukan. Kemudian, gunakan arahan projek untuk menamakan projek. Akhir sekali, fail boleh laku MyApp ditakrifkan menggunakan perintah add_executable, dan main.cpp dan utils.cpp disusun sebagai fail sumber.
3. Tambahkan pilihan kompilasi dan pemautan
Apabila menyusun dan memautkan aplikasi pengkomputeran berprestasi tinggi, kami biasanya perlu menambah beberapa pilihan kompilasi dan pilihan pemautan untuk mengoptimumkan prestasi.
Sebagai contoh, kita boleh menggunakan pilihan -O3 untuk mengoptimumkan kod:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
Dalam contoh di atas, kita menggunakan arahan set untuk menetapkan pembolehubah CMAKE_CXX_FLAGS kepada nilai pembolehubah CXXFLAGS semasa ditambah dengan pilihan -O3, yang bermaksud memaksimumkan pengoptimuman kod C++.
Selain itu, jika program kami bergantung pada beberapa perpustakaan luaran, kami juga perlu menyatakan lokasi dan nama perpustakaan ini. Contohnya, jika program kami bergantung pada perpustakaan OpenMP, kami boleh mengkonfigurasinya seperti berikut:
# 查找OpenMP库 find_package(OpenMP REQUIRED) # 添加OpenMP编译选项 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") # 添加OpenMP链接选项 target_link_libraries(MyApp ${OpenMP_CXX_LIBRARIES})
Dalam contoh di atas, kami mula-mula menggunakan arahan find_package untuk mencari perpustakaan OpenMP dan menyimpannya dalam pembolehubah OpenMP. Kemudian, gunakan arahan set untuk menetapkan pilihan kompilasi CMAKE_CXX_FLAGS kepada nilai pembolehubah CXXFLAGS semasa ditambah dengan pilihan kompilasi OpenMP. Akhir sekali, gunakan arahan target_link_libraries untuk menambah perpustakaan pautan OpenMP pada fail boleh laku MyApp.
4. Build
Selepas melengkapkan penulisan fail CMakeLists.txt, kita boleh membina. Mula-mula, kita perlu mencipta folder binaan dalam direktori akar projek dan masukkan folder:
$ mkdir build $ cd build
Kemudian, gunakan arahan cmake untuk menjana Makefile:
$ cmake ..
Kemudian, gunakan arahan make untuk menyusun:
$ make
Itu sahaja , kami telah berjaya menggunakan CMake untuk membina aplikasi pengkomputeran berprestasi tinggi kami.
Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan CMake untuk membina aplikasi pengkomputeran berprestasi tinggi Linux, dan menyediakan beberapa petua konfigurasi biasa dan contoh kod. Menggunakan CMake boleh memudahkan proses binaan dan meningkatkan kecekapan pembangunan. Saya harap artikel ini berguna dan boleh digunakan dalam projek anda.
Atas ialah kandungan terperinci Petua konfigurasi untuk membina aplikasi pengkomputeran berprestasi tinggi Linux menggunakan CMake. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!