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:
Component | Minimum Specification | Notes |
CPU | Quad-core Intel or AMD x86_64 processor | AVX2 instruction set recommended |
Memory (RAM) | 16GB | Higher capacity needed for complex workloads |
GPU/FPGA | Compatible GPU or FPGA with OpenCL support | Required for accelerated computing |
Storage | 256GB SSD | Fast storage improves build times |
OS | See supported OS table below | Latest 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:
Component | Minimum Specification | Notes |
CPU | Multi-core x86_64 processor (Intel/AMD) | Faster builds and improved parallelization |
Memory (RAM) | 64GB+ | Supports large datasets and complex simulations |
GPU/ Kalray Accelerator | High-performance NVIDIA A100/H100 or AMD Instinct GPU or Kalray TC4 | Essential for AI/ML acceleration |
FPGA | Development board compatible with Xilinx or Intel tools | Required for hardware acceleration development |
Storage | NVMe SSD with 2TB+ capacity | Fast storage improves build times |
PCIe Support | PCIe Gen4 or higher | Improved data transfer rates between components |
Cooling | Enhanced cooling solution | Maintains performance during intensive workloads |
Supported Operating Systems #
The Brane SDK has been thoroughly tested and optimized for the following operating systems:
Supported OS | Version |
Ubuntu | 20.x, 24.x |
CentOS | 8+ |
RHEL | 8+ |
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
Component | Purpose | Installation Notes |
C/C++ Compiler | Required for compiling applications | Install GCC or Clang via your system’s package manager |
OpenCL Runtime | Enables cross-platform parallel computing | Installed with GPU drivers or as a separate package |
Hardware-Specific Drivers
Component | Purpose | Installation Notes |
NVIDIA GPUs | NVIDIA drivers with CUDA and OpenCL support | NVIDIA Driver Installation Guide |
AMD GPUs | AMD drivers with ROCm and HIP support | AMD ROCm Installation |
Kalray Accelerators | Kalray drivers and runtime | Contact Kalray for installation instructions |
Intel FPGAs | Intel Quartus Prime Software | Intel FPGA Software Installation |
Xilinx FPGAs | Xilinx Vivado Design Suite | Xilinx 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:
- Create a simple test project using the provided templates
- Build the project with
gradle assemble
- Run the verification tests with
gradle check
- Confirm that the build completes successfully for your target platforms
Troubleshooting Common Installation Issues #
Issue | Potential Solution |
Gradle build failures | Ensure Java 17+ is installed and JAVA_HOME is properly set |
Missing compiler errors | Install required C/C++ compilers and verify they’re in your PATH |
GPU not detected | Update to the latest GPU drivers and check device connections |
Access denied errors | Ensure you have proper permissions for the SDK directories |
Network connectivity issues | Configure 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.