SDK - 3.1
The ClearSpeed Software Development Kit (SDK) allows developers to write code to utilize the acceleration of the Advance boards.
Tools
The SDK consists of the following :
- ANSI C-based optimizing compiler for the CSX600 and CSX700
- Macro assembler
- Linker
- Dynamic loader
- Industry-standard GDB source-level debugger
- Visual Profiler
- Eclipse IDE
- Object file tools (archiver/librarian, dump/disassemble, etc.)
- Instruction-set simulator
- Cycle-accurate simulator
- Command line tool driver
Optimizing Compiler
The ClearSpeed Cn language is based on ANSI C with extensions to support the data-parallel architecture of the CSX processors. The main addition to standard C is the definition of mono (scalar) and poly (parallel) data types.
The Cn compiler supports inline assembler and pragmas for controlling data layout.
The Cn compiler also supports a set of intrinsics for operating on vector data to allow more efficient exploitation of the floating-point pipeline.
Visual Profiler
The ClearSpeed Visual Profiler allows the developer to visualize all aspects of a heterogeneous, multi-processor system:
- Host code profiling
- Visually inspect host code executing
- Supports multiple cores, threads, processes
- visualise overlap of host threads executing
- Platform and processor independent trace collection
- Host/card interactions
- View host/board interactions
- Get performance information for data transfer operations
- Trace cluster node/board interaction
- See overlap of host compute and board compute
- CSX processor
- View system level trace
- Visually inspect the overlap of compute and I/O
- Visualize cache utilization
- View branch trace of code executing
- Find and analyse performance bottlenecks
- Get accurate event timing
- CSX instruction pipeline
- View detailed instruction issue information
- Visualize overlap of executing instructions
- Optimize code at the instruction level
- View instruction level performance bottlenecks
- Get accurate instruction timing
Software Libraries
The SDK includes the following standard C libraries. Most libraries include support for both mono and poly data.
- Standard utility functions (stdlib.h)
- Character type functions and macros (ctype.h)
- Standard input and output (stdio.h)
- String and memory functions (string.h)
- Wide character strings (wchar.h)
- Locale functions (locale.h)
- Math functions (math.h)
Note that not all functions in these libraries are implemented as some do not make sense for an embedded coprocessor.
In addition, a set of extra libraries are included which support application development or architecture-specific features:
- Random Number Generator
- Vector Math Library
- FFT Library
- Debug printing functions (dprint.h)
- Memory transfer functions (string_ext.h, async_string.h)
- Inter-PE communication functions (swazzle.h)
- Thread support (semaphore.h)
- Other functions (misc.h)
Documentation
The ClearSpeed Advance Accelerator Board comes complete with installation guide and release notes. In addition, the SDK has the following set of documentation:
- Getting Started Guide introduces the SDK and the Cn language
- SDK Reference Manual describes all the tools and programming languages
- Debugging with GDB the standard GDB user guide
- Standard Libraries Reference Manual documentation of all the functions in the standard libraries
- Instruction Set Reference Manual defines the CSX600 instruction set
All of these documents are available from the ClearSpeed support site.
The SDK also comes with a number of example source code programs.
Obtaining the SDK
Developers who purchase the SDK can download the developer package from the ClearSpeed Support website (support.clearspeed.com). You will be provided with a login account in order to download the developer package.
The SDK is provided with a single-user floating license. This is managed by the FLEXlm license manager. To allow multiple concurrent users, the appropriate number of licenses must be purchased. Time limited evaluation licenses are also available. No license is required, and no royalties payable, on any software developed with the SDK. Note that the Cn standard libraries are licensed under the terms of the GNU Lesser General Public License (LGPL) or similar terms and any software linked with those libraries must comply with those license terms.
Latest software download details found here.
Further information
.







