Я (хотя и кропотливо) с помощью некоторых программ кодирования переписал одну из своих функций R на C++, чтобы проверить, есть ли какое-либо заметное улучшение в скорости и распределении памяти. После отладки некоторых первоначальных проблем проблема, с которой я сейчас сталкиваюсь, заключается в том, что RStudio обнаруживает фатальную ошибку и происходит сбой при запуске функции-обертки (run_in_par_cpp3) ниже:
Rcpp::sourceCpp("optimize_cpp3.cpp")
results R Session Aborted
> R encountered a fatal error. The session was terminated.
Мне непонятно, почему это происходит, учитывая мои практически несуществующие знания C++ и отсутствие другого сообщения в RStudio, кроме уведомления о фатальной ошибке. Также было трудно отличить подобные сообщения на SO, учитывая уникальность каждого ранее заданного вопроса (ов).
Изначально я думал, что это ошибка памяти, однако даже с этим очень маленьким воспроизводимым примером я получаю фатальную ошибку. Я включил весь код, необходимый для воспроизведения примера того, с чем я работаю. Что я могу попробовать дальше?
Код Reprex R с необходимыми данными для воспроизведения:
wide_data second;
}
}
scores = {current_sum, i};
}
// find topn indices
if (topn_order) {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreDesc);
} else {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreAsc);
}
// fill result vectors using the best indices found previously
for(int k = 0; k < topn; ++k) {
int best_idx = scores[k].index;
out_date[out_idx] = date_of_interest;
out_actual[out_idx] = actuals[best_idx];
out_won[out_idx] = won[best_idx];
out_perc[out_idx] = perc[best_idx];
out_buyin[out_idx] = buyin[best_idx];
out_iter[out_idx] = iter_name;
out_idx++;
}
}
// return df with only required variables
return DataFrame::create(
Named("Date") = out_date,
Named("Actual") = out_actual,
Named("amtWon") = out_won,
Named("perc_rk") = out_perc,
Named("buyin") = out_buyin,
Named("iters") = out_iter,
Named("grid_row") = out_grid_row
);
}
Код-оболочка для запуска в R:
run_in_par_cpp3
Подробнее здесь: https://stackoverflow.com/questions/798 ... ermination
Сбой кода Rcpp R (RStudio) – невозможно выполнить отладку из-за завершения сеанса ⇐ C++
Программы на C++. Форум разработчиков
1767903505
Anonymous
Я (хотя и кропотливо) с помощью некоторых программ кодирования переписал одну из своих функций R на C++, чтобы проверить, есть ли какое-либо заметное улучшение в скорости и распределении памяти. После отладки некоторых первоначальных проблем проблема, с которой я сейчас сталкиваюсь, заключается в том, что RStudio обнаруживает фатальную ошибку и происходит сбой при запуске функции-обертки (run_in_par_cpp3) ниже:
Rcpp::sourceCpp("optimize_cpp3.cpp")
results R Session Aborted
> R encountered a fatal error. The session was terminated.
Мне непонятно, почему это происходит, учитывая мои практически несуществующие знания C++ и отсутствие другого сообщения в RStudio, кроме уведомления о фатальной ошибке. Также было трудно отличить подобные сообщения на SO, учитывая уникальность каждого ранее заданного вопроса (ов).
Изначально я думал, что это ошибка памяти, однако даже с этим очень маленьким воспроизводимым примером я получаю фатальную ошибку. Я включил весь код, необходимый для воспроизведения примера того, с чем я работаю. Что я могу попробовать дальше?
[b]Код Reprex R с необходимыми данными для воспроизведения:[/b]
wide_data second;
}
}
scores[i] = {current_sum, i};
}
// find topn indices
if (topn_order) {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreDesc);
} else {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreAsc);
}
// fill result vectors using the best indices found previously
for(int k = 0; k < topn; ++k) {
int best_idx = scores[k].index;
out_date[out_idx] = date_of_interest;
out_actual[out_idx] = actuals[best_idx];
out_won[out_idx] = won[best_idx];
out_perc[out_idx] = perc[best_idx];
out_buyin[out_idx] = buyin[best_idx];
out_iter[out_idx] = iter_name;
out_idx++;
}
}
// return df with only required variables
return DataFrame::create(
Named("Date") = out_date,
Named("Actual") = out_actual,
Named("amtWon") = out_won,
Named("perc_rk") = out_perc,
Named("buyin") = out_buyin,
Named("iters") = out_iter,
Named("grid_row") = out_grid_row
);
}
[b]Код-оболочка для запуска в R:[/b]
run_in_par_cpp3
Подробнее здесь: [url]https://stackoverflow.com/questions/79863662/rcpp-code-crashes-r-rstudio-unable-to-debug-due-to-session-termination[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия