1. A system comprising: a central processing unit with global data storage constructing a B*-tree data structure comprising an array of modules defining a floorplan of a circuit and storing the B*-tree data structure in the global data storage; a multiprocessor comprising a plurality of thread blocks each executing a single thread, and shared memory for each thread block; each thread block concurrently copying the B*-tree data structure to each thread block's own shared memory, applying a separate move to modify each B*-tree data structure for each thread block, and calculating an objective function result for each modified B*-tree data structure of each thread block, wherein the objective function result is an area of the floorplan; the central processing unit selecting a first objective function result satisfying a first criteria of a simulated annealing algorithm and applying a first move of the first objective function result to the B*-tree data structure stored in the global data storage.