KeyurKelkar Ответов: 1

Как заставить этот код R/ rcpp / Intel daal работать в windows10?


Привет,

Я боролся в течение последних 2 недель, чтобы сделать код, содержащийся в следующем codeproject.com статья для работы в среде Windows 10:

Молниеносные Алгоритмы Машинного Обучения R[^]

Мне кажется, что я неправильно настраиваю закулисье (например, выбор компилятора, связи в пакете daal и из него, совместимость RTools даже с компиляцией этого, поправки к переменной PATH).

В результате я вообще не могу получить код для компиляции - пример ошибок, которые я сейчас получаю (используя компилятор Intel), скопирован ниже:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmmintrin.h(61): error #2277: invalid definition of __m128; use #include "xmmintrin.h" instead
C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocale(341): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocale(367): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/internal/NAComparator.h(62): error: expected a ")"
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/r_cast.h(32): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h(53): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h(93): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/api/meat/module/Module.h(40): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Users/Documents/R/win-library/3.3/Rcpp/include/Rcpp/api/meat/module/Module.h(40): warning #583: C++ exception handler found but /EHsc option was not specified
C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstring(2195): warning #583: C++ exception handler found but /EHsc option was not specified


Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.3.210 Build 20180410
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

icl: NOTE: The evaluation period for this product ends on 4-aug-2018 UTC.
compilation aborted for file35d0134c2a9d.cpp (code 2)
make: *** [file35d0134c2a9d.o] Error 2
Warning message:
running command 'make -f "C:/R/R-33~1.1/etc/x64/Makeconf" -f "C:/R/R-33~1.1/share/make/winshlib.mk" -f "C:/Users/Rashmi/Documents/.R/Makevars.win" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="file35d0134c2a9d.dll" WIN=64 TCLBIN=64 OBJECTS="file35d0134c2a9d.o"' had status 2 

ERROR(s) during compilation: source code errors or compiler configuration errors!


Что я уже пробовал:

Я реплицировал пакет toolchain в соответствии с веб-сайтом, однако теперь прибегнул к Intel XE 2018, поскольку он sesms, что предыдущие версии устанавливались неправильно (и, основываясь на форумах intel, тот факт, что mingw может не очень хорошо играть с библиотекой daal).

Есть ли добрая душа, которая могла бы поделиться шаг за шагом, чтобы я мог воспроизвести эту статью?

Большое спасибо,
Keyur

Richard MacCutchan

Попробуйте разместить свой вопрос на форуме в конце статьи, чтобы автор мог вам помочь.

KeyurKelkar

Привет, Ричард - я действительно написал эту статью на прошлой неделе, но ничего не слышал, поэтому решил обратиться на форум

1 Ответов

Рейтинг:
0

Jochen Arndt

Это может быть не окончательное решение, но должно исправить некоторые ошибки и предотвратить возникновение других (будущих) проблем.

Вы используете компилятор Intel, но включаете заголовочные файлы MS Visual C++. Указание каталога файлов Intel include ($(ICInstallDir)\compiler\include\) в качестве самого первого пути в настройках проекта (или переменной среды или файла make, который когда-либо применялся) позволит компилятору использовать их вместо файлов MS.

Что касается предупреждения № 583, сделайте то, что предлагает сообщение: используйте /EHsc опция (которая может потребовать изменения и других - конфликтующих - опций).


KeyurKelkar

Большое спасибо Йохен - я попробую сейчас и доложу об этом.

KeyurKelkar

привет Йохен - не был уверен, что это за протокол, поэтому выложил последний набор ошибок в качестве еще одного поста... https://www.codeproject.com/Questions/1253780/How-to-debug-these-Intel-daal-errors

буду очень признателен за любую помощь, которую вы можете оказать