Danke :)
Inzwischen läuft das Programm und fittet parallelisiert. Ich musste allerdings aufs Python pp-Modul umsteigen, weil die joblib-Parallel-Prozesse offenbar nur I/O-Aufgaben beschleunigen.
Ich bin optimistisch, dass ich demnächst noch ein paar Bugs ausmerzen und ein echtes Python-Modul ...
Die Suche ergab 16 Treffer
- Freitag 3. Juni 2016, 18:48
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
- Donnerstag 2. Juni 2016, 07:38
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Gigaz: Deine Myclass muß einfach nur das Pickle-Protokoll unterstützen. Dann lassen sich auch c-Klassen serialisieren.
Danke :D
Ich werde das Picke-Protokoll sicher implementieren. Ich aber festgestellt dass es eigentlich viel günstiger ist wenn ich folgendendermaßen parallelisiere:
def ...
Danke :D
Ich werde das Picke-Protokoll sicher implementieren. Ich aber festgestellt dass es eigentlich viel günstiger ist wenn ich folgendendermaßen parallelisiere:
def ...
- Mittwoch 1. Juni 2016, 12:30
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Gigaz: Das Problem ist, dass Exemplare Deiner Klasse von `joblib` nicht korrekt serialisiert werden können:
Aha, ok. Hast du einen Tip wie ich das Problem löse?
Meine naive Vorstellung ist grade, dass es eine Möglichkeit geben sollte, der Klasse Myclass eine Methode zum picklen zu geben. :K Mal ...
Aha, ok. Hast du einen Tip wie ich das Problem löse?
Meine naive Vorstellung ist grade, dass es eine Möglichkeit geben sollte, der Klasse Myclass eine Methode zum picklen zu geben. :K Mal ...
- Mittwoch 1. Juni 2016, 09:35
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Hallo,
schonmal daran gedacht, das Ganze auf der GPU zu rechnen?
Viele Tausend Datenpunkte mit ihrerseits vielen Hundert kleinen Matrixmultiplikationen hört sich nach guter Parallelisierbarkeit an.
Ich bin vor einiger Zeit auf eine Bibliothek namens Arrayfire (C/C++ und Python-Wrapper) gestoßen ...
schonmal daran gedacht, das Ganze auf der GPU zu rechnen?
Viele Tausend Datenpunkte mit ihrerseits vielen Hundert kleinen Matrixmultiplikationen hört sich nach guter Parallelisierbarkeit an.
Ich bin vor einiger Zeit auf eine Bibliothek namens Arrayfire (C/C++ und Python-Wrapper) gestoßen ...
- Freitag 6. Mai 2016, 10:34
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Ich habe auch schon festgestellt beim Testen dass die Zahlen die ich in python eingebe offenbar nicht im C-Programm ankommen
Deine neue Variante funktioniert jetzt aber. Vielen Dank.
Deine neue Variante funktioniert jetzt aber. Vielen Dank.
- Freitag 6. Mai 2016, 08:42
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@ Blackjack. Danke nochmal.
Der Vorschlag mit input[0].ptr hat nicht kompiliert, deine Idee mit einem zusätzlichen Pointer war aber richtig. Die funktionierende Syntax ist
cdef void *ptr
ptr = <void *>input
L=Take_A_Class_Pointer(ptr)
Und die C++-Funktion packt dann mit
int Take_A_Class ...
Der Vorschlag mit input[0].ptr hat nicht kompiliert, deine Idee mit einem zusätzlichen Pointer war aber richtig. Die funktionierende Syntax ist
cdef void *ptr
ptr = <void *>input
L=Take_A_Class_Pointer(ptr)
Und die C++-Funktion packt dann mit
int Take_A_Class ...
- Mittwoch 4. Mai 2016, 16:55
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Ich habe fast nur autodidaktisch Programmieren gelernt, daher kann ich das mit dem Unpräzise leider nicht so ohne weiteres ändern.
Es gibt diverse Codeschnipsel für Cython wenn man googelt, aber je komplexer das Problem desto weniger findet man.
Ich hab jetzt eine detailliertere Anfrage auf python ...
Es gibt diverse Codeschnipsel für Cython wenn man googelt, aber je komplexer das Problem desto weniger findet man.
Ich hab jetzt eine detailliertere Anfrage auf python ...
- Mittwoch 4. Mai 2016, 16:12
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Gigaz: `double` ist ja aber auch ein Typ bei dem es Sinn macht einen Zeiger zu haben. Python-Objekte sind ja selbst schon Zeiger. Was versprichst Du Dir denn davon Python-Objekte in ein Numpy-Array zu speichern? Statt beispielsweise in einer Liste?
Eigentlich verspreche ich mir davon gar nichts ...
Eigentlich verspreche ich mir davon gar nichts ...
- Mittwoch 4. Mai 2016, 15:05
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Ich bin nicht sicher, ob ich dich völlig verstehe.
Wenn ich statt Layer einfach "object" schreibe kriege ich jedenfalls eine andere Fehlermeldung. :(
def __Reflectivity(np.ndarray[object] HS):
PyRefl(&HS[0])
Pythonreflectivity.pyx:121:11: Cannot take address of Python variable
Stünde da statt ...
Wenn ich statt Layer einfach "object" schreibe kriege ich jedenfalls eine andere Fehlermeldung. :(
def __Reflectivity(np.ndarray[object] HS):
PyRefl(&HS[0])
Pythonreflectivity.pyx:121:11: Cannot take address of Python variable
Stünde da statt ...
- Mittwoch 4. Mai 2016, 13:50
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Gigaz: Die Fehlermeldung sagt's ja eigentlich schon: Der Typ darf nur `object` (das wäre dann jedes beliebige Python-Objekt) ein numerischer Typ oder eine Struktur sein (für Record-Arrays). Wenn `Layer` aus Python-Sicht eine Klasse ist, dann wäre `object` richtig, allerdings machen Numpy-Arrays ...
- Mittwoch 4. Mai 2016, 13:21
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
So, erste Frage zur Benutzung von Cython :D
Ich habe eine Klasse namens "Layer" definiert, die alle Eigenschaften einer optischen Lage kennt.
Wenn ich versuche, Cython eine Funktion zu geben, die als Eingabewert ein Layerwertiges Array nimmt, dann kriege ich eine Fehlermeldung.
def ...
Ich habe eine Klasse namens "Layer" definiert, die alle Eigenschaften einer optischen Lage kennt.
Wenn ich versuche, Cython eine Funktion zu geben, die als Eingabewert ein Layerwertiges Array nimmt, dann kriege ich eine Fehlermeldung.
def ...
- Samstag 23. April 2016, 13:55
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Bisher nicht, scheint aber wichtig zu seinBlackJack hat geschrieben:@Gigaz: Das „global interpreter lock“ (GIL) bei CPython ist Dir ein Begriff?
- Samstag 23. April 2016, 13:05
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Hyperion Danke. Über die Parallelisierung habe ich mir weiter oben Gedanken gemacht. Da letztlich der Benutzer auch seine Daten fitten will ist es nicht sinnvoll auf dieser niedrigen Ebene den Code zu parallelisieren. Die Parallelisierung läuft dann so dass zB. jeder neue Punkt im Fitparameter-Raum ...
- Freitag 22. April 2016, 20:32
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
@Sirius man muss für jeden einzelnen Datenpunkt durch die Schichten-Schleife, die ist leider nicht außen rum.
Die Algorithmen existieren in C alle, wir haben sie selbst geschrieben und optimiert. Die Problemstellung gibt es leider nicht her dass man mit mathematisch optimierten Algorithmen was ...
Die Algorithmen existieren in C alle, wir haben sie selbst geschrieben und optimiert. Die Problemstellung gibt es leider nicht her dass man mit mathematisch optimierten Algorithmen was ...
- Freitag 22. April 2016, 18:10
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Re: Röntgenoptik-Projekt
Wenn ichs probiert hätte wüsste ich es. Man kommt aber um eine Iteration durch alle Schichten nicht herum, und darin ist Python bekanntlich langsam. Numpy ist wahrscheinlich keine Option. Cython vielleicht schon eher, ich muss es mir mal ansehen.
- Freitag 22. April 2016, 17:42
- Forum: Wissenschaftliches Rechnen
- Thema: Röntgenoptik-Projekt
- Antworten: 31
- Zugriffe: 11934
Röntgenoptik-Projekt
Hallo erstmal an alle :)
Ich bin Doktorand für experimentelle Physik. Bei der Diskussion mit einem Kollegen hatte ich vor kurzem die Idee, dass wir möglichweise ein Python-Paket schreiben und veröffentlichen sollten.
In der ersten Version soll man damit die Röntgenreflektion und Transmission von ...
Ich bin Doktorand für experimentelle Physik. Bei der Diskussion mit einem Kollegen hatte ich vor kurzem die Idee, dass wir möglichweise ein Python-Paket schreiben und veröffentlichen sollten.
In der ersten Version soll man damit die Röntgenreflektion und Transmission von ...
