Alex susu dec2018
-
Committing many changes, most importantly: Opincaa program and simulator accept from command line number of lanes, number of registers, LS mem size, instruction queue length.
-
See README_More.txt for most recent changes:
-
made Opincaa library (runtime assembler and simulator) allow for lanes other types than i16 (short) or u16, such as i32 (int) - added in arch/connex16-hm-generic/include/Architecture.h the typedef of TYPE_ELEMENT, etc.
-
verified with Valgrind that the Opincaa program (not also the Opincaa simulator) does NOT have any memory leaks or invalid reads.
-
worked on improving the assembly time of Opincaa kernels
-
corrected operators that were NOT working properly in simulator
-
added ConnexMachine::writeDataToConnexPartial() and ConnexMachine::readDataFromConnexPartial()
-
added support for OpincaaLLVM compiler automatic Instruction Selection code generation from Opincaa kernels - see method Kernel::genLLVMISelManualCode()
-
added a few new instructions to simulator:
-
for debugging: _PRINT_REG, _PRINT_CHARS and the macrodefs PRINTREG(), PRINTCHARS() and PrintDebugMessage(), PrintRegDebug()
-
experimental: _SETLC_REDUCE, _BIT_REVERSE and the macrosdefs REPEAT_REDUCE and BITREVERSE
-
-
added a simple power model (similar to Wattch), which computes energy consumed by a Connex Opincaa kernel
-
added the possibility for a Connex instruction to be on 64 bits to support more than 32 registers - see normally commented macrodef CONNEX_REG_COUNT_512 in arch/connex16-hm-generic/include/Instruction.h
-
better indentation for the source files
-
various other small corrections
-