Mouais. De manière général, pour ta problématique sur le calcul du max il n'y a pas grand-chose à optimiser en fait. Lire, comparer, sur un grand tableau le processeur va se tourner les pouces et c'est le débit de la mémoire qui va entrer en compte. Pas beaucoup d'intérêt à paralléliser cette opération sur une seule machine (sauf si il faut plusieurs coeurs pour exploiter toute la bande passante mémoire, possible sur "le gros serveur de calcul"
). Sinon, vu que tu as multiplié par dix la dimension en x et par 10 en y c'est pas très étonnant que ça prenne 100 fois plus de temps.
Mais bon, l'opération la plus efficace reste encore celle qu'on n'a pas besoin de faire. Donc comme le dit mogluglu, au minimum il faudrait calculer le max en même temps que tu calcules les valeurs du tableau (si il est vraiment indispensable de les conserver). Tu t'éviteras une lecture complète du tableau, et vu le calcul un poil lourd à faire sur chaque case y ajouter un calcul de max ne devrait même pas se ressentir sur les performances de cette étape.
Et pour le coup, ces calculs de valeurs m'ont l'air suffisamment intenses arithmétiquemnt que pour bénéficier d'une parallélisation.
Mais bon, l'opération la plus efficace reste encore celle qu'on n'a pas besoin de faire.
La solution finale de mogluglu à l'air encore mieux si applicable dans ton cas (là ça devient trop mathématique pour moi).