Kurulum ve derleme
CMake, derleme seçenekleri ve projenize bağlantı.
01Gereksinimler#
CMake 3.20+ ve C++20 derleyicisi gerekir. SIMD kaynakları x86 AVX yönergeleriyle derlenir; mevcut derleme genel ARM taşınabilirlik garantisi sunmaz. CUDA yalnız cihaz çekirdekleri etkinse gerekir.
02Kaynak kökünden derleyin#
Bu komutları NexusModel klasöründe çalıştırın. Testler ve CPU benchmark varsayılan açık. Çoklu yapılandırmalı derleyicilerde yürütülebilir dosyalar Release altında oluşur.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Releasecmake --build build --config Releasectest --test-dir build -C Release --output-on-failure# Windows / MSVC.\build\Release\nexus_model_bench.exe03Derleme seçenekleri#
CUDA mimarisi varsayılan 86; kendi GPU mimarinizi seçin. MatrixFlash seçeneği köprü başlığını açar; tüketen hedef ayrıca MatrixFlash bağımlılığını karşılamalıdır. NEXUS_MODEL_ENABLE_AVX512 varsayılanı ON’dur ve çekirdekleri derler. Ryzen 7 5800H üzerinde AVX-512 seçilmez.
| Seçenek | Varsayılan |
|---|---|
| NEXUS_MODEL_WITH_CUDA | OFF |
| NEXUS_MODEL_WITH_MATRIXFLASH | OFF |
| NEXUS_MODEL_BUILD_TESTS | ON |
| NEXUS_MODEL_BUILD_BENCHMARKS | ON |
| NEXUS_MODEL_BUILD_EXAMPLES | OFF |
| NEXUS_MODEL_ENABLE_AVX512 | ON |
| NEXUS_MODEL_WARNINGS_AS_ERRORS | ON |
04Uygulamaya bağlayın#
CMake kurulum kuralları arşiv ve başlıkları kopyalar; bu sürüm find_package yapılandırması dışa aktarmaz. Alias hedefini add_subdirectory ile kullanın.
cmake_minimum_required(VERSION 3.20)project(example LANGUAGES CXX)add_subdirectory(NexusModel)add_executable(example main.cpp)target_link_libraries(example PRIVATE nexus_model::nexus_model)05CUDA derlemesi#
CUDA Toolkit gerekir. GPU benchmark ayrıca cuBLAS bağlar. Bu yapılandırma host katmanlarını otomatik GPU’ya taşımaz.
cmake -S . -B build-cuda -DNEXUS_MODEL_WITH_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=86cmake --build build-cuda --config Release