Я бы поставил на косяки реализации. У меня матлаб гоняет фильтр скользящих мин-максов на миллионе точек за 70 мс.
А SciLab умирает просто на расчете координат. Таже задача на матлабе в том же синтаксисе виснет на 40 миллионах точек. SciLab даже оперативку не грузит - 800Мб занимает из 32Гб и все
Товарищи, есть задача по расчету координат точек в пространстве. Всего получается около миллиона точек (для начала). Реализовывал модель в SciLab, но он к сожалению умирает при таком количестве. Размножались точки алгоритмом for. Кто знает, есть смысл откачивать. SciLab или переписывать на Julia?
Ничего не понял. Что на входе алгоритма и что на выходе?
Заранее размерности массивов заданы? Вдруг у вас на каждой итерации происходит заново выделение памяти. И что значит "виснет"? Если долго выполняется, это одно. Если же в swap начинает лезть, то другое. В вашем случае при 800 Мб из 32 Гб ни о каком свопе не может быть и речи, поэтому непонятно.
Заранее размерности массивов заданы? Вдруг у вас на каждой итерации происходит заново выделение памяти. И что значит "виснет"? Если долго выполняется, это одно. Если же в swap начинает лезть, то другое. В вашем случае при 800 Мб из 32 Гб ни о каком свопе не может быть и речи, поэтому непонятно.
Выполняет долго, причем оставлял на 12 часов - результата нет.
Выполняет долго, причем оставлял на 12 часов - результата нет.
Ясно, тогда следующие предложения (для MATLAB): 0. Смотреть результаты профайлера, как уже говорили. 1. Избавиться от циклов. 2. Если оставлять циклы, то for заменить на parfor. 3. Сгенерировать mex-функцию (с parfor, чтобы OpenMP использовать).
Ясно, тогда следующие предложения (для MATLAB): 0. Смотреть результаты профайлера, как уже говорили. 1. Избавиться от циклов. 2. Если оставлять циклы, то for заменить на parfor. 3. Сгенерировать mex-функцию (с parfor, чтобы OpenMP использовать).
Так matlab то работает и так. Проблема именно с SciLab.
Много где пишут, что циклы нельзя, но я не думал что это так критично
Критично. В MATLAB довольно хорошая оптимизация jit-компилятора. В Octave все намного хуже с циклами. SciLab никогда не использовал, ничего не могу сказать
Критично. В MATLAB довольно хорошая оптимизация jit-компилятора. В Octave все намного хуже с циклами. SciLab никогда не использовал, ничего не могу сказать