This guide walks you through installing KortexDL Framework on your system.
- Operating System: Linux (Ubuntu 20.04+, CentOS 8+) or macOS
- Intel oneAPI Toolkit 2025.2+: Includes MKL and Intel C++ Compiler
- CMake 3.20+: Build system
- Python 3.8+: Required for Python bindings
- Git: For cloning the repository
- GCC 12+ or Clang 15+: Alternative to Intel ICX compiler
- 4GB+ RAM: For building and running examples
- 8+ CPU cores: For parallel compilation
KortexDL requires Intel's Math Kernel Library (MKL) for optimized performance.
Visit: https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
Select your platform and download the installer.
# Download installer (example for 2025.2)
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/[...]/intel-cpp-essentials-2025.2.sh
# Run installer
chmod +x intel-cpp-essentials-2025.2.sh
sudo ./intel-cpp-essentials-2025.2.sh
# Source environment (add to ~/.bashrc for persistence)
source ~/intel/oneapi/setvars.sh# Check compiler
icpx --version
# Check MKL
echo $MKLROOT
# Should output: /path/to/intel/oneapi/mkl/latestcd ~/Projects
git clone https://github.com/Mostafasaad1/kortexdl.git
cd kortexdl# Source Intel oneAPI environment
source ~/intel/oneapi/setvars.sh
# Create build directory
mkdir build && cd build
# Configure (using Intel ICX compiler)
cmake .. \\
-DCMAKE_CXX_COMPILER=icpx \\
-DCMAKE_C_COMPILER=icx \\
-DCMAKE_BUILD_TYPE=Release
# Alternative: Use GCC
cmake .. \\
-DCMAKE_CXX_COMPILER=g++-12 \\
-DCMAKE_BUILD_TYPE=Release# Build all targets
cmake --build . -j$(nproc)
# Or build specific target
cmake --build . --target nn_common -j$(nproc)# Run a simple example
./examples/linear_function_examples/regression_examplepip install pybind11 numpy pytestcd build
cmake .. -DBUILD_PYTHON_BINDINGS=ON
cmake --build . --target _kortexdl_core -j$(nproc)cd ..
export PYTHONPATH=$PWD/build:$PYTHONPATH
python3 -c "import _kortexdl_core as bd; print('Success!', dir(bd))"cd build
ctest --output-on-failurecd python_bindings
PYTHONPATH=../build pytest tests/ -vSolution: Source Intel oneAPI environment
source ~/intel/oneapi/setvars.shSolution: Verify MKLROOT is set
echo $MKLROOT
# If empty, source setvars.shSolution: Check PYTHONPATH includes build directory
export PYTHONPATH=/path/to/kortexdl/build:$PYTHONPATHSolution: Install pybind11 via pip
pip install pybind11- Read the Quick Start Guide
- Explore CNN Guide
- Check out Examples
Intel oneAPI MKL is supported on macOS. Use Homebrew for dependencies:
brew install cmake python3Install build essentials:
sudo apt-get update
sudo apt-get install build-essential cmake python3-devsudo dnf groupinstall "Development Tools"
sudo dnf install cmake python3-develFor issues, please report at: https://github.com/Mostafasaad1/kortexdl/issues