GCN Assembler for Linux is available!

Discussion created by matszpk on Oct 31, 2015
Latest reply on Apr 1, 2016 by meriken

Hi. I released a  complete and rich GCN assembler for Linux/Unix (and Windows).

It is here: CLRadeonExtender

Documentation (ugly, but it is): ClrxToc – CLRadeonExtender

Downloads: ClrxDownloads – CLRadeonExtender


This is early alpha version that can be buggy and have ugly documentation.


This package provides:

- a complete GCN assembler (support GCN 1.0/1.1/1.2, full Fiji support!)

- a complete GCN disassembler (this same support as assembler)

- CLRXWrapper (embeds assembler to AMD OpenCL implementation), just try!

- documentation

- doxygen documentation

- no samples (not yet)


Package can installed in Linux/Unix and Windows systems.


Assembler and disassembler supports two binary formats:

* the AMD Catalyst driver OpenCL binary format (opencl 1.2)

* the GalliumCompute (yes, this OpenSource drivers, Mesa3D, LLVM, and Gallium!) binary format (the first GCN assembler that support opensource drivers)

Allow you to write programs for AMD OpenCL implementation and for the opensource radeon drivers (we proudly support open source world!)


Rich features:

* compatible with GNU as

* macros, nested macros

* includes (nested even in macros)

* symbols assignment, assignment expressions to symbols (.eqv pseudo-op)

* conditional compilation (.if/.elseif/.else/.endif)

* repetitions (.rept, .irp, .irpc)

* many kernels support

* GPU/binary format/bitness detection (.ifgpu/..ifngpu)

* AMD OpenCL driver detection (.get_driver_version).

* standalone binary generator for AMD Catalyst (works fine with latest drivers!) and GalliumCompute

* easy-to-use kernel configuration (.config) for two binary formats

* supports all encodings for GCN 1.0/1.1/1.2 (Fiji support)

* floating point suport (literals, .float/.double), support also half floating points