Ich führe derzeit Wiederholungen eines Experiments durch, das MEX-Dateien in MATLAB 2012a verwendet, und stoße gelegentlich auf Segmentierungsfehler, die ich nicht verstehen kann.
Einige Informationen über die Fehler
-
Sie treten zufällig auf
-
Sie treten nur auf, wenn ich mehrere Wiederholungen meines Experiments parallel auf einer Linux-Maschine mit einer parfor-Schleife ausführe.
-
Sie treten nicht auf, wenn ich mehrere Wiederholungen meines Experiments parallel auf Mac OSX 10.7 mit einer parfor-Schleife ausführe.
-
Sie treten nicht auf, wenn ich die Wiederholungen sequenziell ausführe.
-
Sie scheinen wesentlich seltener aufzutreten, wenn ich 2 Experimente parallel ausführe - im Vergleich zu 12 Experimenten parallel.
Einige Informationen über meine MEX-Datei:
-
Sie ist in C geschrieben
-
Sie verwendet das IBM CPLEX 12.4 API (dies ist threadsicher)
-
Sie wurde mit GCC 4.6.3 kompiliert
Meine Vermutung ist, dass es möglicherweise ein Problem beim Zugriff auf die MEX-Datei in mehreren Kernen gibt. Kann jemand Licht ins Dunkel bringen oder eine Lösung vorschlagen? Ich wäre bereit, weitere Informationen bereitzustellen, wenn nötig.