Mam to wiele setek komórek Mathematica i chcę korzystać z równoległej oceny. Mam 2 procesory x 4 rdzenie dla każdej maszyny z pamięcią 16 Gb. Licencja My Mathematica pozwala mi na uruchamianie co najwyżej 2 główne jądra z 1 masterem może mieć 4 jądra slave (to jest moja interpretacja po tym, jak bawiłem się z nią przez jakiś czas).Ocena komórek równolegle w Mathematica
Zwykłem uruchamiać mój kod w dwóch głównych jądrach w dwóch różnych notatnikach. Aby jeszcze bardziej przyspieszyć, próbowałem zamknąć kilka komórek za pomocą ParallelEvaluate[]
i wydawało się, że działa. Następnie mam również 4 kopie mojego kodu, nieświadome siebie nawzajem za pośrednictwem jednego z głównych jąder, co jest w porządku. (Zasadniczo próbuję uruchomić tak wiele kopii mojego kodu/mathkernela równolegle, jak to tylko możliwe.Nie strzelam do niczego prawdziwie równoległego).
Ponieważ mój kod jest zbyt długi i skomplikowany, nie chcę ponownie edytować każdej komórki, aby umożliwić jej równoległą ocenę. Czy jest coś magicznego, co mogę umieścić na początku mojego notatnika, więc każda komórka oceniana później będzie domyślnie ParallelEvaluate[ ... cell contents.... ]
?
Czy jesteś pewien, że chcesz na 'ParallelEvaluate []' wszystkie komórki? Czy eksperymentowałeś już z tym na swoim kodzie? Podpowiedź: Prawdopodobnie dostaniesz listy, na których otrzymujesz teraz jeden wynik ... –
Tak Otrzymuję listy tabel i to jest w porządku. Będę ręcznie łączyć te tabele w głównym jądrze i analizować wyniki. Po prostu próbuję znaleźć najłatwiejszy sposób użycia wszystkich mathkerneli do przyspieszenia obliczeń. – Hsn
Próbowałem eksperymentować z $ Pre = ParallelEvaluate ;, ale nie mogę teraz używać Mmy (problemy sprzętowe), może chcesz spróbować. –