Frequently Asked Questions

License Questions


The Alea GPU Community Edition does not require a license to be installed.

Details about the different Alea GPU editions and licenses can be found here.

The license installation for a commercial edition is explained here.

If you want to order a license please follow these instructions.

The terms and conditions for using and licensing Alea GPU are defined in the standard license agreement. You can also use this document to order a license for an Alea GPU commercial edition.

How to install license for a different user

By default, license manager intalls license into folder %LOCALAPPDATA%\Alea.GPU\LicenseRepository. You can specify a different path as the license repository folder by -r or --repositoryPath option. For more details, try LicenseManager.exe install --help and LicenseManager.exe list --help.

A common case might be using Alea from Windows service, which usually starts as SYSTEM user. There are ways to do so.

Method 1: install license to SYSTEM user's %LOCALAPPDATA% folder:

  • Find the %LOCALAPPDATA% path for your SYSTEM user. Usually it is C:\Windows\system32\config\systemprofile\AppData\Local. If you are not sure, you can run .NET code System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) with SYSTEM user to check.
  • LicenseManager.exe install -l %YOUR_LIC% -r "%SYSTEM_LOCALAPPDATA%\Alea.GPU\LicenseRepository"
  • LicenseManager.exe list -r "%SYSTEM_LOCALAPPDATA%\Alea.GPU.LicenseRepository" to veirfy
  • Start or restart your service as SYSTEM user

Method 2: configure app.config to specify a license repository path:

  • <aleaSettings><license repositoryPath="%YOUR_LICENSE_FOLDER%"/></aleaSettings>

Method3 : (From version 3.0.2) Specify a license repository path via enviornment variable:

  • Specify your license repository in environment variable ALEA_LICENSE_REPOSITORY_PATH

Technical Questions


How to Configure CUDA Toolkit Version

For more information on using Cuda libraries, please refer to here.

To use P/Invoke libraries, you need configure system environment so that they can be found:

  • Alea.CudaToolkit - On Windows, you need to set CUDA_PATH environment variable, to specify the location of your Cuda toolkit installation. On Linux or Mac OS, they should be visible to ldconfig system.
  • Alea.CudaDnn - On Windows, the cuDNN library should be copied into the Cuda toolkit installation folder, pointed by CUDA_PATH environment variable.

For the integrated libraries, there are two ways to configure the CUDA toolkit version.

  1. At the global level set the environment variable ALEA_CUDA_VERSION=8.0.

  2. To configure at the application level, modify the App.Config as follows

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="aleaSettings" type="Alea.Settings, Alea"/>
  </configSections>
  <aleaSettings>
    <cuBLAS version="8.0"/>
    <cuRAND version="8.0"/>
  </aleaSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

Note that according to Configuration Sections Schema documentation the <configSections></configSections> must be the first child element of the <configuration> element.

Develop on Linux or Mac OS X

Alea GPU is cross platform and supports Windows, Linux and Mac OS X.

  • Install newest 64-bit Mono (the packages managed by Xamarin are suggested). Mono 4.6 or higher is suggested.
  • 64-bit Mono is mandatory, since there is only 64-bit CUDA driver available.
  • To develop GPU code with F#, use F# 4.0 or higher.
  • The Fody NuGet package does not work with MonoDevelop or Xamarin Studio. It is therefore not possible to use Alea.Fody for automatic memory management within MonoDevelop or Xamarin Studio. The workaround is to build the application in Windows and deploy to Linux or Mac OS X.

Missing Native Alea Resource Assembly

JIT compilation requires extra resources. They are embedded in several assemblies for different GPUs or host architectures and platforms. Alea GPU must be able to find these resources and extract them. More details can be found in the secton on Alea GPU resources.