Server with High Performance, Low Energy
Using a CIM array in your system can provide benefits other than acceleration and energy savings. The third most popular reason to use a CIM array is code security:
This is made possible because CIM arrays are built from Texas Instruments multicore CPUs that can run -- unlike GPUs -- general-purpose C code.
Hacker Resistance -- run code inside a server in such a way that it's virtually impervious to hacking
- IP Security -- ship binary-only code with no exposure of your most sensitive source code
CIM arrays can provide Hacker Resistance in several ways:
Running on a non-x86 and non-ARM CPU type makes code 100% unaffected by virtualization, regardless of whether your code is running on your own servers or on servers inside a cloud computing center. For example, if you're renting Amazon or other cloud servers, then you specify to Amazon that your code should run only on servers with a CIM array inserted.
Also, from a pure reverse engineering perspective, it's important to note that the global army of hackers focuses on x86 and ARM, not Texas Instruments CPUs.
CIM arrays can provide IP Security in these key ways:
Signalogic has extended its OpenMP-compatible syntax to include "function" pragmas which translate source code into CIM array / accelerator APIs. Function pragmas can delineate both source code functions and binary code functions. Binary code functions include both some basic compute-intensive APIs provided by Signalogic and also user-defined APIs which have been pre-compiled and added to the CIM library during development; i.e. prior to distribution.
- no need to worry about which Linux distribution is running on the host server
as an option, the CIM array can boot and run code from its own onboard Flash EEPROM, avoiding any electronic or other user handling of the code whatsoever
GPL Licensing Protection
Related to IP Security, CIM arrays can offer another type of source code level protection: against GPL License infringement. As the CIM build process operates at the source code level, the CIM stream is not built with Gcc tools, is not linked with Linux libraries or drivers, and is not subject to GPL or other open source/free software licenses. When CIM code runs in executable form on the CIM array, it's running on hardware completely separate from the motherboard, x86 or ARM host. Whether third-party licenses apply depends solely on your source code content.