Xgboost: كيفية تثبيت إصدار OpenMP في R (Mac OS)

تم إنشاؤها على ٢٢ أبريل ٢٠١٦  ·  3تعليقات  ·  مصدر: dmlc/xgboost

تحيات.

أحتاج إلى بعض المساعدة في فهم التعليمات الخاصة بتثبيت إصدار OpenMP في R (Mac OS). البيان التالي محير بالنسبة لي:

اضبط ملف Makevars بأعلى درجات الدقة لـ R.

النقطة المهمة هي أن هناك ثلاثة ماكيفارس: ~ / .R / Makevars و xgboost / R-package / src / Makevars و /usr/local/Cellar/r/3.2.0/R.framework/Resources/etc/Makeconf ( آخر واحد تم الحصول عليه عن طريق تشغيل file.path (R.home ("etc") و "Makeconf") في R) و SHLIB_OPENMP_CXXFLAGS لم يتم تعيينه افتراضيًا !! بعد المحاولة ، يبدو أن الشخص الأول يتمتع بأعلى درجة من الدرجة الأولى (مفاجأة!).

ماذا يعني "اضبط ملف ماكيفارس بأعلى درجات الأولوية لـ R"؟ كيف يمكنني التعامل مع الأولوية؟ ماذا علي أن أفعل لتعيين المتغير "SHLIB_OPENMP_CXXFLAGS"؟

التعليق الأكثر فائدة

في حالتي ، يجب أن أقوم بإعداد المزيد من CXX لإنجاحه:

CC=gcc-7
CXX=g++-7
CXX1X=g++-7
CXX11=g++-7
CXX14=g++-7
CXX17=g++-7

SHLIB_OPENMP_CFLAGS= -fopenmp
SHLIB_OPENMP_CXXFLAGS= -fopenmp
SHLIB_OPENMP_FCFLAGS= -fopenmp
SHLIB_OPENMP_FFLAGS= -fopenmp

ال 3 كومينتر

إعادة: Makevars ... لقد أجريت التغييرات في ~ / .R / Makevars. بالإضافة إلى أعلام SHLIB ، كان علي أن أغير المترجم إلى "clang-omp". بالنسبة للمترجم ، استخدمت الشراب لتثبيت إصدار clang الذي يدعم OpenMP.

وأخيرا الحصول على هذا العمل باستخدام التعليمات البرمجية التالية المعدلة من @ jimthompson5802 الصورة الجواب . يتم وضع الكود في ~/.R/Makevars :

CC=gcc-5
CXX=g++-5
CXX1X = g++-5

SHLIB_OPENMP_CFLAGS= -fopenmp
SHLIB_OPENMP_CXXFLAGS= -fopenmp
SHLIB_OPENMP_FCFLAGS= -fopenmp
SHLIB_OPENMP_FFLAGS= -fopenmp

في حالتي ، سيبحث R في /Library/Frameworks/R.framework/Resources/etc/Makeconf عن المعلمات الضرورية غير المحددة في ~/.R/Makevars . سيحاول العثور على الإعداد لـ CXX1X في Makeconf . هذا هو المكان الذي يأتي منه المترجم clang++ في الأخطاء في رسالتي السابقة .

تلقيت مجموعة من التحذيرات من [-Wunused-variable] لكن أعتقد أنه جيد. لا يوجد تحذير OpenMP is not available هذه المرة.

أيضًا بما أنني اتبعت تعليمات البناء الرسمية لنظام التشغيل mac ، فقد قمت بتثبيت دول مجلس التعاون الخليجي وبها نجحت في بناء xgboost "الرئيسي" باستخدام OpenMP من قبل. suggets هكذا أنا وأحد الذين تابعوا نفس التعليمات مثلي لها على Makevars انشاء مثل هذا.

في حالتي ، يجب أن أقوم بإعداد المزيد من CXX لإنجاحه:

CC=gcc-7
CXX=g++-7
CXX1X=g++-7
CXX11=g++-7
CXX14=g++-7
CXX17=g++-7

SHLIB_OPENMP_CFLAGS= -fopenmp
SHLIB_OPENMP_CXXFLAGS= -fopenmp
SHLIB_OPENMP_FCFLAGS= -fopenmp
SHLIB_OPENMP_FFLAGS= -fopenmp
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات