Skip to content

Alex susu dec2018

Alexandru Șușu requested to merge AlexSusuDec2018 into master
  • 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

Merge request reports

Loading