2010-01-21 3 views
0

Je suis nouveau sur OSX et mac. J'ai d'anciens programmes de calcul de nombres. Je me demande quelles sont les meilleures approches dans OSX àDétecter le goulot d'étranglement sur le programme et utiliser opencl pour accélérer

1) trouver les goulots d'étranglement dans le programme. J'ai lu que le meilleur est d'utiliser Xcode et les outils de profilage, mais ce n'est pas clair pour moi quel outil est le meilleur

2) une fois la bouteille trouvée, quelle est la meilleure approche pour changer le plus petit partie possible du code et le traduire en équivalent opencl, donc on obtient une accélération globale décente. Je suppose qu'il ya beaucoup d'approches ici, je voulais juste vous entendre quel est le meilleur endroit pour commencer

Merci

Répondre

0

Pour (1), je commencerais avec Shark, si seulement parce qu'il est de loin l'outil le plus simple à utiliser. Lancez simplement Shark, pointez-le sur votre programme et cliquez sur le bouton pour collecter des échantillons. Il vous donnera de très bonnes données d'échantillonnage qui devraient vous montrer quelles routines (ou tronçons de code) sont les goulots d'étranglement. Vous pouvez trouver utile de construire vos programmes avec l'information de débogage -g, car cela peut rendre les traces de Shark un peu plus faciles à lire. Pour (2), sans en savoir plus sur ce que vous faites, il est impossible de savoir si OpenCL est adapté à votre problème ou non. Trouvez d'abord les goulots d'étranglement, puis réfléchissez à la façon de les résoudre. Ne vous laissez pas enfermer dans l'idée d'utiliser une technologie ou une autre avant de savoir à quoi vous l'utiliseriez.

Questions connexes