1. An adaptive computing engine, comprising: a programmable interconnection network including a network root and a set of crosspoint switches, each crosspoint switch coupled to the network root, wherein the network root and the set of crosspoint switches can be programmed to configure the adaptive computing engine for one or more different tasks; and a plurality of nodes that each have a fixed and different architecture that corresponds to a particular algorithmic function, wherein each node is connected to one or more other nodes in the plurality of nodes by at least one crosspoint switch in the set of crosspoint switches, each node including: an execution unit configured to perform the particular algorithmic function associated with the node, the execution unit having an internal structure specific to the particular algorithmic function associated with the node, a memory configured to receive data and to store data, the memory having a size and a memory format, and a node wrapper configured to: receive data and configuration information from the programmable interconnection network, distribute the data and configuration information received from the interconnection network to the execution unit and to the memory, receive data from the execution unit and from the memory, and transmit the data received from the execution unit and from the memory to other nodes in the plurality of nodes and to one or more processing elements external to the adaptive computing engine via the programmable interconnection network.