1. A process of workload partitioning in a heterogeneous system, comprising: determining heterogeneous alignment constraints in the workload and system; partitioning first tasks to at least one alignment constrained processing element (ACPE); and partitioning second tasks to at least one non-alignment constrained processing element (NACPE).