Autonomic scheduling of tasks from data parallel patterns to CPU/GPU core mixes