Supported Platforms and Minimum System Requirements🔗
Platform-Specific HALCON Versions🔗
For the operating systems listed in
Table 1 and Table 2, platform-specific
versions of HALCON’s executables and libraries are provided.
The name of the currently used version is stored in the environment
variable HALCONARCH
.
HALCON uses AVX2-optimized code for many operators,
when run on a machine that supports AVX2.
Note that HALCON should also run on newer versions of the operating systems
than the ones listed; however, we cannot guarantee this.
HALCONARCH
appears in several directory paths:
Executable HALCON programs like hdevelop, and DLLs like
halcon.dll (Windows only), reside in %HALCONROOT%\bin\%HALCONARCH%
.
On Windows systems, this path is therefore automatically included in the
environment variable PATH
;
on a Linux system, you must include it in your login script.
The libraries that you need for linking programs, e.g., halcon.lib
(Windows)
or libhalcon.so
(Linux) reside in the directory %HALCONROOT%\lib\%HALCONARCH%
.
Please note that when creating a 64-bit application, both the development
computer and the computer on which the application will run must be
64-bit platforms.
To create .NET applications under Linux, you need to install .NET Core or Mono.
Requirement | |
---|---|
Architecture | 64-bit |
Processor | Intel 64 or AMD 64 SSE2 (AVX2 dispatch) |
Disk Space (full installation) | 4 GB |
Disk Space (without Deep Learning) | 1 GB |
Memory | 256 MB |
Display Resolution | 1024 x 768 |
Supported OS Versions | Windows 10 (x64 editions), 11, Windows Server 2016, 2019, 2022 |
Compiler | Visual Studio 2013 |
HALCONARCH | x64-win64 |
Compute Device with OpenCL | OpenCL 1.1 |
x64 | aarch64 | armv7a | |
---|---|---|---|
Architecture | 64-bit | 64-bit | 32-bit |
Processor | Intel 64 or AMD 64 SSE2 (AVX2 dispatch) | Armv8-A with AArch64 support | Armv7-A with NEON support |
Disk Space (full installation) | 4 GB | 4 GB | 4 GB |
Disk Space (without Deep Learning) | 1 GB | 1 GB | 1 GB |
Memory | 256 MB | 256 MB | 256 MB |
Display Resolution | 1024 x 768 | - | - |
Supported OS Versions | Linux x86_64 | Linux aarch64 | Linux armv7a |
Compiler | gcc 7.5 | gcc 7.5 | gcc 7.5 |
HALCONARCH | x64-linux | aarch64-linux | armv7a-linux |
Specifics | Kernel with hidraw support | Kernel with hidraw support, hard-float ABI | |
Libraries | GLIBC_2.27, GLIBCXX_3.4.24 | GLIBC_2.27, GLIBCXX_3.4.24 | GLIBC_2.27, GLIBCXX_3.4.24 |
Application-Specific Requirements | X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3, libdbus-1-3 (HDevelop) | X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3 | X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3 |
Compute Device with OpenCL | OpenCL 1.1 | OpenCL 1.1 1 | OpenCL 1.1 1 |
Platform-Independent Applications🔗
Even when using a platform-specific version of HALCON, you can still create platform-independent applications, in the following ways:
-
With HDevelop or HDevelopEVO, HALCON’s integrated development environment (IDE). HDevelop programs are stored in a platform-independent format (HALCON Script). Thus, you can run them on any supported platform.
-
With HALCON/.NET, HALCON’s interface to .NET programming languages. Applications written in .NET languages are stored in a platform-independent intermediate language, which is then converted by the so-called common language runtime into platform-specific code.
-
With HALCON/Python, HALCON’s interface to Python script language. Python is an interpreted, high-level and general-purpose programming language that runs your code platform independently on a language interpreter engine.
You can combine both methods by using HDevEngine/.NET to run HDevelop programs from a HALCON/.NET application.
HALCON Variable Inspect (Visual Studio Extension)🔗
HALCON Variable Inspect is shipped in two packages. Which package to use depends on the version of Visual Studio to support. The respective package of HALCON Variable Inspect depends on the following components
Variable Inspect Extension for Visual Studio 2019 and earlier
-
Visual Studio 2013 (Update 5 or higher) through Visual Studio 2019
-
NET 4.6
Older installations of Visual Studio 2013 might be missing the .NET 4.6 framework. If the installation of HALCON Variable Inspect fails with an error, install the .NET 4.6 framework first.
Variable Inspect Extension for Visual Studio 2022 and later
-
Visual Studio 2022 and later
-
NET 4.7.2
Requirements for Deep Learning and Deep-Learning-Based Methods🔗
Disk space requirement for HALCON including deep learning:
-
Runtime: 3.4 GB (using CUDA 12.1.0)
-
Full installation: 20 GB
Applications of deep learning as well as deep-learning-based methods, like Deep OCR, may have further requirements depending on the device (CPU or GPU) on which they are running. These requirements are given below.
Whether an implementation is available for a specific device depends on the method and task. An overview for the different deep-learning-based methods is given in Table 3.
Method (Model ‘type’) |
GPU | CPU |
---|---|---|
3D Gripping Point Detection (‘3d_gripping_point_detection’) |
2 | |
Anomaly Detection (‘anomaly_detection’) |
2 | |
Classification (‘classification’) |
2 | |
Deep Counting Component: Backbone (‘counting’) |
||
Deep OCR Component: Detection (‘ocr_detection’) Component: Recognition (‘ocr_recognition’) |
2 |
|
Global Context Anomaly Detection (‘gc_anomaly_detection’) |
23 | |
Multi-Label Classification (‘multi_label_classification’) |
2 | |
Object Detection and Instance Segmentation (‘detection’) |
2 | |
Semantic Segmentation and Edge Extraction (‘segmentation’) |
2 |
Method (Model ‘type’) |
GPU | CPU |
---|---|---|
3D Gripping Point Detection (‘3d_gripping_point_detection’) |
||
Anomaly Detection (‘anomaly_detection’) |
2 | |
Classification (‘classification’) |
||
Deep Counting Component: Backbone (‘counting’) |
||
Deep OCR Component: Detection (‘ocr_detection’) Component: Recognition (‘ocr_recognition’) |
||
Global Context Anomaly Detection (‘gc_anomaly_detection’) |
||
Multi-Label Classification (‘multi_label_classification’) |
||
Object Detection and Instance Segmentation (‘detection’) |
||
Semantic Segmentation and Edge Extraction (‘segmentation’) |
GPU Applications🔗
When running deep learning as well as deep-learning-based applications on GPU, additional prerequisites apply. Table 5 lists additional prerequisites for which HALCON has been tested successfully. In case of multiple entries the ones corresponding have to be used. HALCON checks which CUDA-version is installed and looks automatically for the corresponding subdirectories with its libraries. Under Windows or Linux x64, these libraries are provided in a separate package. Under Linux aarch64, these libraries have to be installed manually.
x64 | ||
---|---|---|
OS Versions | Windows 10, 11 | |
GPU | NVIDIA GPU with minimal compute capability 5.0 | |
NVIDIA driver supporting | CUDA | 12.1.0 |
Libraries | cuBLAS cuDNN |
12.1.3.1 8.9.2 |
x64 | aarch64 | ||
---|---|---|---|
OS Versions | Linux x86_64 | Linux aarch64 | |
GPU | NVIDIA GPU with minimal compute capability 5.0 | NVIDIA GPU with minimal compute capability 5.0 | |
NVIDIA driver supporting | CUDA | 12.1.0 | 11.4 4 |
Libraries | cuBLAS cuDNN |
12.1.3.1 8.9.2 |
11.6.6.84 8.6.0 |
CPU Applications🔗
The following lists show all platforms that support the execution of deep-learning-based applications.
- x64
min. SSE4.1
-
x64
min. SSE4.1 -
aarch64
(With exception of anomaly detection) -
armv7a
(With exception of anomaly detection)
Requirements for Language Interface Examples🔗
For HALCON language interface examples additional requirements may apply.
-
Building HALCON examples with CMake
Minimum requirements depend on the language:- C and C++: Minimum supported CMake version: 3.7.1
- .NET: Minimum supported CMake version: 3.8.2
-
Building Easy Extension Interface for .NET
- CMake: Minimum supported CMake version: 3.7.1
- C/C++-tooling: For example from Visual Studio -.NET Runtime At least .NET runtime 6.0. Newer versions may be incompatible.
Limitations🔗
For further information on limitations, see the Installation Guide .