Logan, Let me see if I got this right. Reversing computations recovers some of the energy used in making those computations?
In a very real sense the world is "computing" as thing interact, and we are reversing some of those computations to extract meaning. Hence, aren't we recovering some energy in the process? Maybe the whole idea behind neurons is energy recovery?!!! I am obviously no expert here. Perhaps a few comments from you on this would clarify things a LOT. Thanks. Steve ============ On Thu, Aug 13, 2015 at 6:39 PM, Logan Streondj <[email protected]> wrote: > so the main part of an FPGA or parallel programing language is to have > good support for parallel design patterns. > "Structured parallel programming : patterns for efficient computation" > covers a good set of them, the most important of which seem to be > map/reduce/expand map/reduce are in many langauges including Haskell, > though most seem to lack a good expand implementation (like map but where > number of outputs can exceed or be less than number of inputs). > > Basically can program with these methods in any language, the back-end > simply has to be modified to take advantage of GPU's or FPGA's. > > A reason why Haskell and many others are not suitable is that they allow > for recursion, other than proper tail call, (which makes implementation > unwieldly) though if properly limited it then it could work. > > Another thing which FPGA's currently lack is reversible circuits, > One of the next major revolutions will be reversible computing, as it will > allow for three dimensional "chips", since there would both be less waste > heat, and the heat that is produced could be channelled to the surface. > > So a good future focused programming language would be reversible > computing compatible. Also Quantum Computing also relies on reversible > computing. > > Another thing I've previously mentioned about reversible computing is that > it can reduce amount of work, since if you write a fully reversible > compiler/encoder, can simply feed backwards to make it a > decompiler/decoder. > For the programming front-end, could ask the compiler to "reverse" the > program, and it would output the reverse program for you. > > Anyways we'd need millions of dollars (at least) to make reversible chips > real, but the software side is more doable, though maybe relatively > inefficient on current hardware if taking advantage of reversible > properties -- since some input data would have to be copied rather than > just collecting it all at output. > > On Thu, Aug 13, 2015 at 8:30 PM, Steve Richfield < > [email protected]> wrote: > >> PM, >> >> Programming languages have taken a particular turn - to be sequential. >> Statements are executed in sequence, or as though they were being executed >> in sequence. This is GREAT for sequential tasks, but a mismatch for many >> things that are fundamentally non-sequential. >> >> Many programmers confuse simultaneous with parallel with multi-thread. >> >> Both computers and people are constructed from components that are always >> and continuously running, every "clock cycle". The sequentiality of >> computer languages is artificially imposed at a VERY high cost. >> >> Some people are getting around this in FPGAs by constructing long >> pipelines to do complex array computations at a rate of >> one-entire-loop-iteration per clock cycle per pipeline. It appears possible >> to achieve these blinding speeds for MANY applications, if only the right >> language to describe these sorts of operations could be found. >> >> This new language would describe computing machines to compute various >> things, rather than describing sequential procedures. >> >> People have long built custom computers to perform particular >> computations. One mechanical computer that served for more than a century >> computed tide tables for the entire world, and is now on exhibit at the >> NOAA headquarters. I built a custom computer to solve 5x5 non-zero sum game >> theory (war strategy) problems more than half a century ago - see >> attachment. I looked a little younger back then. >> >> Now that FPGAs allow custom computing devices to be defined on-the-fly, >> recreating themselves as needed for each routine, all we now need is a good >> language to describe such things. >> >> Steve >> *AGI* | Archives <https://www.listbox.com/member/archive/303/=now> >> <https://www.listbox.com/member/archive/rss/303/5037279-a88c7a6d> | >> Modify <https://www.listbox.com/member/?&> Your Subscription >> <http://www.listbox.com> >> > > *AGI* | Archives <https://www.listbox.com/member/archive/303/=now> > <https://www.listbox.com/member/archive/rss/303/10443978-6f4c28ac> | > Modify > <https://www.listbox.com/member/?&> > Your Subscription <http://www.listbox.com> > -- Full employment can be had with the stoke of a pen. Simply institute a six hour workday. That will easily create enough new jobs to bring back full employment. ------------------------------------------- AGI Archives: https://www.listbox.com/member/archive/303/=now RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-f452e424 Modify Your Subscription: https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-58d57657 Powered by Listbox: http://www.listbox.com
