Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracking macosx support #31

Closed
jacobrosenthal opened this issue Dec 19, 2017 · 2 comments
Closed

tracking macosx support #31

jacobrosenthal opened this issue Dec 19, 2017 · 2 comments

Comments

@jacobrosenthal
Copy link

jacobrosenthal commented Dec 19, 2017

Ive been sitting on the sidelines hoping someone would tackle osx support but it hasnt happened yet, so heres my start

Jacobs-Air:~ jacobrosenthal$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Jacobs-Air:~ jacobrosenthal$ 

Yeah were clang masquerading on macosx, need gcc5

brew install gcc5
I already have it

Jacobs-Air:~ jacobrosenthal$ gcc-5 --version
gcc-5 (Homebrew GCC 5.5.0) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ah config.mk already uses with CC=g++-5

try to make

Jacobs-MacBook-Air:EdgeML jacobrosenthal$ make -j
In file included from utils.h:7:0,
                 from utils.cpp:4:
pre_processor.h:7:17: fatal error: mkl.h: No such file or directory

MKL doesnt appear to be in brew yet
was problematic on osx? maybe not now?
https://github.com/Homebrew/homebrew-science/issues/2840
I had to get that manually
https://software.intel.com/en-us/get-started-with-mkl-for-osx

thus in config.mk
MKL_ROOT=/opt/intel/mkl
and $(MKL_ROOT)/lib/intel64 becomes $(MKL_ROOT)/lib
and /opt/intel/mkl/lib/intel64/ becomes /opt/intel/mkl/lib/ everywhere

bunch of this

/opt/intel/mkl/include/mkl_service.h:30:20: fatal error: stdlib.h: No such file or directory

You probably wont need to, but my brewed gcc5 was broken, and I had to
brew remove gcc5 && brew install gcc5

Then in src/common/goldfoil.cpp feenableexcept isnt available
Some stuff about fixing that but ill comment it for now
https://stackoverflow.com/questions/247053/enabling-floating-point-interrupts-on-mac-os-x-intel

Then this I cant figure out, Click to expand ``` /var/folders/hv/syzcx3w10850txk2z6tbnb9m0000gn/T//ccsNs2oT.s:60644:11: note: change section name to "__const" .section __DATA,__const_coal,coalesced ^ ~~~~~~~~~~~~ g++-5 -o ../../libProtoNN.so -shared -fPIC ProtoNNModel.o ProtoNNHyperParams.o ProtoNNParams.o ProtoNNTrainer.o ProtoNNPredictor.o ProtoNNFunctions.o cluster.o -lc Undefined symbols for architecture x86_64: "EdgeML::loadMinMax(Eigen::Matrix&, Eigen::Matrix&, int, std::__cxx11::basic_string, std::allocator >)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::normalize() in ProtoNNPredictor.o "EdgeML::saveMinMax(Eigen::Matrix const&, Eigen::Matrix const&, std::__cxx11::basic_string, std::allocator >)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::normalize() in ProtoNNTrainer.o "EdgeML::l2Normalize(Eigen::SparseMatrix&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::normalize() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::normalize() in ProtoNNPredictor.o "EdgeML::parallelExp(Eigen::Matrix&)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::RBF() in ProtoNNPredictor.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) [clone .constprop.878] in ProtoNNFunctions.o "EdgeML::ResultStruct::scaleAndAdd(EdgeML::ResultStruct&, float)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::testBatchWise() in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::testPointWise() in ProtoNNPredictor.o "EdgeML::ResultStruct::scale(float)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::testBatchWise() in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::testPointWise() in ProtoNNPredictor.o "EdgeML::ResultStruct::ResultStruct()", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::testBatchWise() in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::testPointWise() in ProtoNNPredictor.o "EdgeML::computeMinMax(Eigen::SparseMatrix const&, Eigen::Matrix&, Eigen::Matrix&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::normalize() in ProtoNNTrainer.o "EdgeML::denseExportStat(Eigen::Matrix const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportBDense() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportWDense() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportZDense() in ProtoNNTrainer.o "EdgeML::global_log_info(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)", referenced from: EdgeML::ProtoNN::ProtoNNModel::ProtoNNModel(EdgeML::ProtoNN::ProtoNNModel::ProtoNNHyperParams const&) in ProtoNNModel.o EdgeML::ProtoNN::ProtoNNModel::ProtoNNHyperParams::finalizeHyperParams() in ProtoNNHyperParams.o EdgeML::ProtoNN::ProtoNNModel::ProtoNNHyperParams::setHyperParamsFromArgs(int, char const**) in ProtoNNHyperParams.o EdgeML::ProtoNN::ProtoNNTrainer::createOutputDirs() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::normalize() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::setFromArgs(int, char const**) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::initializeModel() in ProtoNNTrainer.o ... "EdgeML::minMaxNormalize(Eigen::SparseMatrix&, Eigen::Matrix const&, Eigen::Matrix const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::normalize() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::normalize() in ProtoNNPredictor.o "EdgeML::global_log_trace(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)", referenced from: EdgeML::sparsekmeans::kmeanspp(Eigen::SparseMatrix const&, float const*, Eigen::Matrix&) in cluster.o EdgeML::sparsekmeans::kmeans(Eigen::SparseMatrix const&, Eigen::Matrix&, int, unsigned long long*) in cluster.o EdgeML::densekmeans::kmeanspp(Eigen::Matrix const&, float const*, Eigen::Matrix&) in cluster.o EdgeML::densekmeans::kmeans(Eigen::Matrix const&, Eigen::Matrix&, int, unsigned long long*) in cluster.o EdgeML::densekmeans::kmeans(Eigen::Matrix const&, Eigen::Matrix&, int, unsigned long long*) [clone .constprop.414] in cluster.o EdgeML::kmeansLabelwise(Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix&, Eigen::Matrix&, int) in cluster.o "EdgeML::sparseExportStat(Eigen::Matrix const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportBSparse() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportWSparse() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::sizeForExportZSparse() in ProtoNNTrainer.o "EdgeML::exportDenseMatrix(Eigen::Matrix const&, unsigned long const&, char*)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::exportBDense(int, char*) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::exportWDense(int, char*) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::exportZDense(int, char*) in ProtoNNTrainer.o "EdgeML::exportSparseMatrix(Eigen::Matrix const&, unsigned long const&, char*)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::exportBSparse(int, char*) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::exportWSparse(int, char*) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::exportZSparse(int, char*) in ProtoNNTrainer.o "EdgeML::getTopKScoresBatch(Eigen::Matrix const&, Eigen::Matrix&, Eigen::Matrix&, int)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::saveTopKScores(std::__cxx11::basic_string, std::allocator >, int) in ProtoNNPredictor.o "EdgeML::global_log_warning(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::createOutputDirs() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::createOutputDirs() in ProtoNNPredictor.o EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&) in ProtoNNFunctions.o "EdgeML::writeMatrixInASCII(Eigen::Matrix const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::train() in ProtoNNTrainer.o "EdgeML::computeModelSizeInkB(float const&, float const&, float const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::Matrix const&)", referenced from: EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&) in ProtoNNFunctions.o "EdgeML::global_log_diagnostic(Eigen::Matrix const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)", referenced from: EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) [clone .constprop.878] in ProtoNNFunctions.o EdgeML::gradL_W(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gradL_B(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o "EdgeML::sequentialQuickSelect(float*, unsigned long, unsigned long)", referenced from: EdgeML::hardThrsd(Eigen::Matrix&, float) in ProtoNNFunctions.o EdgeML::medianHeuristic(Eigen::Matrix const&, Eigen::Matrix, float) in ProtoNNFunctions.o "EdgeML::mm(Eigen::Matrix&, Eigen::SparseMatrix const&, CBLAS_TRANSPOSE, Eigen::Matrix const&, CBLAS_TRANSPOSE, float, float, long long, long long)", referenced from: EdgeML::gradL_Z(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, long long, long long) in ProtoNNFunctions.o "EdgeML::mm(Eigen::Matrix&, Eigen::Matrix const&, CBLAS_TRANSPOSE, Eigen::SparseMatrix const&, CBLAS_TRANSPOSE, float, float, long long, long long)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::initializeModel() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::scoreBatch(Eigen::Matrix&, unsigned long long, unsigned long long) in ProtoNNPredictor.o std::_Function_handler const&, long long, long long), EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&)::{lambda(Eigen::Matrix const&, long long, long long)#1}>::_M_invoke(std::_Any_data const&, Eigen::Matrix const&, long long&&, std::_Any_data const&) in ProtoNNFunctions.o EdgeML::gradL_W(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o std::_Function_handler (Eigen::Matrix const&, long long, long long), EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&)::{lambda(Eigen::Matrix const&, long long, long long)#2}>::_M_invoke(std::_Any_data const&, Eigen::Matrix const&, long long&&, std::_Any_data const&) in ProtoNNFunctions.o EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&) in ProtoNNFunctions.o "EdgeML::mm(Eigen::Matrix&, Eigen::Matrix const&, CBLAS_TRANSPOSE, Eigen::Matrix const&, CBLAS_TRANSPOSE, float, float, long long, long long)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::RBF() in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::ProtoNNPredictor(unsigned long, char const*) in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::testDenseDataPoint(float const*, unsigned long long const*, unsigned long long const&, EdgeML::ProblemFormat const&) in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::scoreBatch(Eigen::Matrix&, unsigned long long, unsigned long long) in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::ProtoNNPredictor(int const&, char const**) in ProtoNNPredictor.o EdgeML::accuracy(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, EdgeML::ProblemFormat const&) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o ... "EdgeML::Data::finalizeData()", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::finalizeData() in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::ProtoNNPredictor(int const&, char const**) in ProtoNNPredictor.o "EdgeML::Data::feedDenseData(EdgeML::DenseDataPoint const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::feedDenseData(float const*, unsigned long long const*, unsigned long long const&) in ProtoNNTrainer.o "EdgeML::Data::feedSparseData(EdgeML::SparseDataPoint const&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::feedSparseData(float const*, unsigned long long const*, unsigned long long const&, unsigned long long const*, unsigned long long const&) in ProtoNNTrainer.o "EdgeML::Data::loadDataFromFile(EdgeML::DataFormat, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::ProtoNNTrainer(int const&, char const**) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::ProtoNNPredictor(int const&, char const**) in ProtoNNPredictor.o "EdgeML::Data::Data(EdgeML::DataIngestType, EdgeML::DataFormatParams)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::ProtoNNTrainer(EdgeML::ProtoNN::ProtoNNModel::ProtoNNHyperParams const&) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::ProtoNNTrainer(EdgeML::ProtoNN::ProtoNNModel::ProtoNNHyperParams const&) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNTrainer::ProtoNNTrainer(int const&, char const**) in ProtoNNTrainer.o EdgeML::ProtoNN::ProtoNNPredictor::ProtoNNPredictor(int const&, char const**) in ProtoNNPredictor.o "EdgeML::Timer::nextTime(std::__cxx11::basic_string, std::allocator > const&)", referenced from: EdgeML::hardThrsd(Eigen::Matrix&, float) in ProtoNNFunctions.o EdgeML::accuracy(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, EdgeML::ProblemFormat const&) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) [clone .constprop.878] in ProtoNNFunctions.o EdgeML::gradL_Z(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, long long, long long) in ProtoNNFunctions.o EdgeML::gradL_W(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gradL_B(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o ... "EdgeML::Timer::Timer(std::__cxx11::basic_string, std::allocator >)", referenced from: EdgeML::hardThrsd(Eigen::Matrix&, float) in ProtoNNFunctions.o EdgeML::accuracy(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, EdgeML::ProblemFormat const&) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) [clone .constprop.878] in ProtoNNFunctions.o EdgeML::gradL_Z(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, long long, long long) in ProtoNNFunctions.o EdgeML::batchEvaluate(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::Matrix const&, float const&, EdgeML::ProblemFormat const&, float*) in ProtoNNFunctions.o EdgeML::gradL_W(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o ... "EdgeML::Timer::~Timer()", referenced from: EdgeML::hardThrsd(Eigen::Matrix&, float) in ProtoNNFunctions.o EdgeML::accuracy(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, EdgeML::ProblemFormat const&) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o EdgeML::gaussianKernel(Eigen::Matrix const&, Eigen::Matrix const&, float, long long, long long) [clone .constprop.878] in ProtoNNFunctions.o EdgeML::gradL_Z(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, long long, long long) in ProtoNNFunctions.o EdgeML::batchEvaluate(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::Matrix const&, float const&, EdgeML::ProblemFormat const&, float*) in ProtoNNFunctions.o EdgeML::gradL_W(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, float, long long, long long) in ProtoNNFunctions.o ... "EdgeML::FileIO::Data::Data(std::__cxx11::basic_string, std::allocator >, Eigen::Matrix&, Eigen::Matrix&, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long, EdgeML::DataFormat&)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::initializeModel() in ProtoNNTrainer.o "EdgeML::Logger::Logger(std::__cxx11::basic_string, std::allocator >)", referenced from: void EdgeML::accProxSGD >(std::function const&, long long, long long)>, std::function (Eigen::Matrix const&, long long, long long)>, std::function&)>, Eigen::Matrix&, int const&, unsigned long long const&, unsigned long long const&, float&, int const&) in ProtoNNFunctions.o "EdgeML::Logger::~Logger()", referenced from: void EdgeML::accProxSGD >(std::function const&, long long, long long)>, std::function (Eigen::Matrix const&, long long, long long)>, std::function&)>, Eigen::Matrix&, int const&, unsigned long long const&, unsigned long long const&, float&, int const&) in ProtoNNFunctions.o "EdgeML::safeDiv(float const&, float const&)", referenced from: EdgeML::accuracy(Eigen::Matrix const&, Eigen::SparseMatrix const&, Eigen::Matrix const&, EdgeML::ProblemFormat const&) in ProtoNNFunctions.o EdgeML::medianHeuristic(Eigen::Matrix const&, Eigen::Matrix, float) in ProtoNNFunctions.o EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&) in ProtoNNFunctions.o void EdgeML::accProxSGD >(std::function const&, long long, long long)>, std::function (Eigen::Matrix const&, long long, long long)>, std::function&)>, Eigen::Matrix&, int const&, unsigned long long const&, unsigned long long const&, float&, int const&) in ProtoNNFunctions.o "EdgeML::evaluate(Eigen::Matrix const&, Eigen::SparseMatrix const&, EdgeML::ProblemFormat)", referenced from: EdgeML::ProtoNN::ProtoNNPredictor::testBatchWise() in ProtoNNPredictor.o EdgeML::ProtoNN::ProtoNNPredictor::testPointWise() in ProtoNNPredictor.o "EdgeML::randPick(Eigen::Matrix const&, Eigen::Matrix&, unsigned long long)", referenced from: EdgeML::ProtoNN::ProtoNNTrainer::initializeModel() in ProtoNNTrainer.o "EdgeML::maxAbsVal(Eigen::Matrix const&)", referenced from: EdgeML::altMinSGD(EdgeML::Data const&, EdgeML::ProtoNN::ProtoNNModel&, float*, std::__cxx11::basic_string, std::allocator > const&) in ProtoNNFunctions.o "___cilkrts_cilk_for_32", referenced from: EdgeML::densekmeans::updateMinDistSqToCenters(Eigen::Matrix const&, float const*, unsigned long long, float const*, float*, float*) in cluster.o EdgeML::sparsekmeans::kmeans(Eigen::SparseMatrix const&, Eigen::Matrix&, int, unsigned long long*) in cluster.o EdgeML::densekmeans::lloydsIter(Eigen::Matrix const&, float const*, Eigen::Matrix
@harsha-simhadri
Copy link
Collaborator

@jacobrosenthal
Sorry for the mess on mac. None of us have a macbook to replicate this; please bear with me while I find one to test.

@jacobrosenthal
Copy link
Author

jacobrosenthal commented Jun 11, 2018

Im able to use on mac via docker with:

# had to max out all resources to successfully build
FROM ubuntu:16.04

RUN apt-get update && apt-get -y install gcc g++ wget git make cpio && \
  wget -q -O - http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11544/l_mkl_2017.3.196.tgz | tar -xzf - && \
  cd l_mkl_2017.3.196 && \
  sed -i 's/ACCEPT_EULA=decline/ACCEPT_EULA=accept/g' silent.cfg && \
  ./install.sh -s silent.cfg && \
  cd / && \
  git clone https://github.com/Microsoft/EdgeML.git && \
  cd EdgeML && \
  make -Bj
ENV MKL_PATH=/opt/intel/mkl/lib/intel64_lin
ENV EDGEML_ROOT=/EdgeML
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MKL_PATH:$EDGEML_ROOT

and then I make bash scripts for each command at /usr/local/bin/ that bring over working directory

#!/bin/bash
  
docker run -v "$(pwd)":/workspace -w /workspace edgeml:latest /EdgeML/BonsaiPredict "$@"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants