Satisfactory system performance requires a continuous adjustment of tunable system parameters. These parameters are typically used to minimize the execution time. However, by the coupling of a performance model with an application, system parameters can be determined without user intervention. In this work presented here, a novel performance prediction system has been used to provide suitable performance models which can determine application mapping parameters, code execution decisions, and system choices on-the-fly. The method uses heuristics and system performance tools to the diagnosis of bottlenecks and provides the necessary remedies to achieve acceptable computer performance. The work introduces a parameter prioritizing tool to focus on those performance critical parameters. It also demonstrates how to reduce the time when tuning a large system with many tunable parameters. The search space can be reduced by checking the relations among parameters to avoid unnecessary search.