System Requirements and Installation

The Brane SDK is built on modern software infrastructure and requires the following core components:

  • Java (version 17 or newer): Powers the Gradle build system and SDK tools
  • Groovy: Supports the scripting capabilities within the build system
  • Gradle: Provides the foundation for the Brane build system

We’ve evolved the SDK from a standalone installation to a more flexible, modular approach using Gradle plugins distributed from our servers. This architecture offers multiple deployment options to suit your development environment preferences.


Installation Options #

Recommended Setup: IntelliJ IDEA Ultimate #

For the most streamlined development experience and access to all Brane SDK features, we strongly recommend using IntelliJ IDEA. This IDE offers:

  • Seamless integration with Gradle build system
  • Advanced debugging capabilities for heterogeneous computing
  • Specialized tools for working with multiple programming models
  • Optimized workflow for cross-platform development
Alternative Setup Options #

While IntelliJ IDEA Ultimate provides the best experience, the Brane SDK also supports:

  • Other IDEs: Compatible with Eclipse, Visual Studio Code, and other IDEs with Gradle support
  • Terminal-Based Workflow: Full functionality available through command-line Gradle operations
  • CI/CD Integration: Support for integration into continuous integration pipelines
Pre-Packaged Version #

For organizations requiring a self-contained installation or those with specialized deployment needs, we offer a pre-packaged version of the Brane SDK. Please contact our team for access and deployment guidance.


Minimum System Requirements #

To install and run the Brane SDK effectively, ensure your development system meets these minimum requirements:

ComponentMinimum SpecificationNotes
CPUQuad-core Intel or AMD x86_64 processorAVX2 instruction set recommended
Memory (RAM)16GBHigher capacity needed for complex workloads
GPU/FPGACompatible GPU or FPGA with OpenCL supportRequired for accelerated computing
Storage256GB SSDFast storage improves build times
OSSee supported OS table belowLatest updates recommended

Note: These minimum requirements support basic development with the Brane SDK. More resource-intensive workloads such as AI/ML, large-scale simulations, or FPGA synthesis will require enhanced system specifications.


Recommended System Configuration #

For optimal performance, particularly with AI/ML workloads, data-intensive applications, or FPGA development, we recommend the following specifications:

ComponentMinimum SpecificationNotes
CPUMulti-core x86_64 processor (Intel/AMD)Faster builds and improved parallelization
Memory (RAM)64GB+Supports large datasets and complex simulations
GPU/ Kalray AcceleratorHigh-performance NVIDIA A100/H100 or AMD Instinct GPU or Kalray TC4Essential for AI/ML acceleration
FPGADevelopment board compatible with Xilinx or Intel toolsRequired for hardware acceleration development
StorageNVMe SSD with 2TB+ capacityFast storage improves build times
PCIe SupportPCIe Gen4 or higherImproved data transfer rates between components
CoolingEnhanced cooling solutionMaintains performance during intensive workloads

Supported Operating Systems #

The Brane SDK has been thoroughly tested and optimized for the following operating systems:

Supported OSVersion
Ubuntu20.x, 24.x
CentOS8+
RHEL8+
Windows (Experimental)10+

Updating Ubuntu OS #

Before installing the Brane SDK on Ubuntu, ensure your system is up-to-date with the latest packages and security updates:

sudo apt-get update
sudo apt-get dist-upgrade

Required Drivers #

Depending on your hardware configuration and target platforms, you’ll need to install specific drivers and software components:

Essential Components

ComponentPurposeInstallation Notes
C/C++ CompilerRequired for compiling applicationsInstall GCC or Clang via your system’s package manager
OpenCL RuntimeEnables cross-platform parallel computingInstalled with GPU drivers or as a separate package

Hardware-Specific Drivers

ComponentPurposeInstallation Notes
NVIDIA GPUsNVIDIA drivers with CUDA and OpenCL supportNVIDIA Driver Installation Guide
AMD GPUsAMD drivers with ROCm and HIP supportAMD ROCm Installation
Kalray AcceleratorsKalray drivers and runtimeContact Kalray for installation instructions
Intel FPGAsIntel Quartus Prime SoftwareIntel FPGA Software Installation
Xilinx FPGAsXilinx Vivado Design SuiteXilinx Software Installation

Important: The Brane SDK includes a validation system that checks for required drivers during startup. It will report specific errors if any necessary components are missing or misconfigured.


Verifying Driver Installation #

You can verify key driver installations using these commands:

# Check OpenCL installation
clinfo

# Verify NVIDIA GPU drivers and CUDA
nvidia-smi

# Confirm AMD GPU drivers and ROCm
rocminfo

# Validate C++ compiler
g++ --version

Optimizing System Configuration #

To achieve maximum performance with the Brane SDK, consider these system optimizations:

Hardware-Level Optimizations #
  • Enable PCIe atomics: Improves communication efficiency between CPU and accelerators
  • Optimize BIOS settings: Configure for performance rather than power saving
  • Use dedicated GPUs: For compute workloads, avoid integrated graphics when possible
  • Configure adequate cooling: Prevents thermal throttling during intensive computations
Software-Level Optimizations #
  • Enable memory swapping: Configure appropriate swap space for large memory workloads
  • Set process priorities: Prioritize Brane SDK processes for improved responsiveness
  • Configure file system parameters: Optimize I/O operations for build performance
  • Install recommended libraries: Add support for linear algebra, image processing, etc.

GPU Selection for Multi-GPU Systems #

If your system has multiple GPUs (including integrated graphics), you can specify which GPU should be used for computations using environment variables:

For OpenCL:

export OPENCL_DEVICE=1  # Use the second OpenCL device (counting from 0)

For CUDA:

CUDA_VISIBLE_DEVICES=0,1  # Make only GPUs 0 and 1 visible to CUDA

For ROCm/HIP:

HIP_VISIBLE_DEVICES=0  # Use only the first GPU for HIP applications

Installation Verification #

After setting up your environment, verify your Brane SDK installation:

  1. Create a simple test project using the provided templates
  2. Build the project with gradle assemble
  3. Run the verification tests with gradle check
  4. Confirm that the build completes successfully for your target platforms


Troubleshooting Common Installation Issues #

IssuePotential Solution
Gradle build failuresEnsure Java 17+ is installed and JAVA_HOME is properly set
Missing compiler errorsInstall required C/C++ compilers and verify they’re in your PATH
GPU not detectedUpdate to the latest GPU drivers and check device connections
Access denied errorsEnsure you have proper permissions for the SDK directories
Network connectivity issuesConfigure proxy settings if your environment requires them

If you encounter persistent issues, consult the Troubleshooting Guide or contact our support team.


Next Steps #

With your system properly configured and the Brane SDK installed, you’re ready to start developing heterogeneous computing applications. Proceed to the Getting Started Guide to create your first Brane SDK project.

What are your feelings
Updated on February 27, 2025