On Thu, Nov 8, 2018 at 10:02 AM Ivan Vodišek <[email protected]> wrote:
> > > Once I saw an interesting discussion about a specific brute force > assembler optimizer. Optimizer was taking an input domain and a short > piece of code that operates over that domain, pairing it with codomain > values (complete definition of an arbitrary algorithm). Then it was > constructing a different combinations of instruction sequences that behave > exactly as the starting program, but happen to be either smaller, or faster > than the original code. > This is called a "supercompiler". The earliest experiments were at IBM in the 1980's; since then some half-dozen or more PhD's were written on it. The hard part is determining if two different instruction sequences produce the same output, or not, and for that, it turns out SAT is extremely effective. They don't show up commercially, for many reasons. One is that once you discover pairings, they have to be stuck into some database. A second is that fewer instructions is not the same as lower power (a concern on cell phones) A third is that the alternative may schedule insn's to units that are occupied, so, although its fewer insns, it will take more cycles, waiting for the bubble to drain. This is particularly fun for VLIW machines. Finally, the top 10 or 20 most important aliases are known, and the compiler writers have inserted them by hand, into compilers. The remaining aliases seem not to improve things by more than a few percent, so the effort does not seem worth it. How do I know this? I worked on a supercompiler for hexagon for qualcomm. The hexagon was a six-unit/core VLIW. --linas -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAHrUA37fdfNkm3%3D590wRm6uxD7MundKaHwB%2Bv4K7OQJduoY0xA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
