| April 25, 2010 9:00 PM PDT | |
Problem: Many Ct operations require that their operands have matching shape. For example, adding two nested (and potentially irregular) vectors requires that their shapes match. The debug distribution of the Ct library generates shape checking code by default. The release distribution of the Ct library does not generate shape checking code by default.
- If CT_JIT_OPTIONS=rtcheck is enabled, Ct will generate code that verifies that the operands have matching shape, equivalent to this pseudocode:
if ( ! isMatchingShape( argument1, argument2 )) throw CTE_SHAPE_MISMATCH ;
- If CT_JIT_OPTIONS=rtcheck is not enabled, Ct will not generate code that verifies that the operands have a matching shape, and the result of the operation may be unpredictable and erroneous.
Environment: All OS, all supported compilers, release build of the Ct dynamic runtime
Root Cause: The debug distribution of the Ct library generates shape checking code by default. The release distribution of the Ct library does not.
Resolution: To enable the shape matching check in the release library, set the environment variable CT_JIT_OPTIONS=rtcheck.
This article applies to: Intel’s Ct Technology Beta Knowledge Base
For more complete information about compiler optimizations, see our Optimization Notice.


