ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 2014
-
7 mai 2014 à 02:03
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 2014
-
8 mai 2014 à 14:04
Bonjour,
J'ai développé un début de bibliothèque Mathématique Python (plutôt à titre de tests pour le moment) mais je bute sur un problème étrange.
Mon script de tests semble fonctionner parfaitement pour des vecteurs de tailles conséquentes (>256) mais peut renvoyer des résultats incohérents pour de petits tableaux (10 par exemple). Bien qu'ayant essayé de trouver d'où provenait exactement le problème, je suis toujours dans l'incapacité de trouver un fix permettant de le résoudre.
Merci d'avance pour vos réponse.
Bien cordialement,
Nicolas DUBIEN
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 8 mai 2014 à 14:04
Je crois avoir trouvé la raison de mon problème.
Lors d'un produit vectoriel avec moins de MAX_THREADS membres, je faisais un return pour ceux qui ne nécessitaient pas de traitement particulier (en dehors des bornes) et un __syncthreads() pour les autres.
Dans les deux cas, je procédais à une initialisation du cache. Cependant contrairement à ce que je pouvais penser __syncthreads() n'attendait pas l'appel à return, d'où le problème de valeur évoqué.