Mac os Sierra(2015 MacBook Pro 10.12 with Nvidia GPU) successfully working

For those interested, I got mapd-core to compile and build on my mac (10.12.6) with the discrete GPU - NVIDIA GeForce GT 750M 2048 MB (mid 2015 MBP with Nvidia graphics).

Some notes

  1. The pre-requisite is to first get CUDA functional WITHOUT MapD, and test the ability to compile and run the sample programs from the CUDA installer. That way, you know the toolchain works. It may not work for much longer (since the nvcc already warns about Maxwell generation devices being deprecated)

  2. The OS X deps build script in the github repo is useful but stomps all over the SW environment so I ended up going back and installing the deps by hand using Homebrew. I’ll document this later.

  3. The arrow feature (one I was interested in) is broken (may be my fault) - I pointed to the libs/include in my anaconda install of pyarrow but the arrow 0.5 release seems out of whack since the build failed. So i went back and dropped the -DARROW_CONVERTER_ON flag and rebuilt (since i was more interested in getting it working)

  4. The bigger issue is when i ran the sanity tests - it hangs with this error showing up multiple times. I’ll attach the log shortly.

“3: [ RUN ] Select.Strings
3: unknown file: Failure
3: C++ exception with description “FailedToCreateFirstSlab” thrown in the test body.
3: [ FAILED ] Select.Strings (1509 ms)”

  1. I was able to run startmapd and actually load the smaller sample dataset, and get Immerse working as well :slight_smile:. I’m not sure how I can verify if it is using the GPU - is there a simple way to check?

Will poke around more and document more details shortly

Venkat

Hi

@niviksha Glad to see you playing with MapD

I believe @andrew is about to publish some more recent docs for building on Mac, so you two should compare notes.

When MapD starts up it will write a log mapd_server.INFO which contains information about if it is running in cpu or gpu mode. Review that log and you should be able to tell. Additionally from mapdql you can run a \memory_summary command after you have run a few queries and see the usage on your GPU. If no gpu shows up in the report, no gpu in use.

regards

@niviksha Re: Arrow: the compile issues are due to us currently using an older version (0.4.1), though there is an ongoing PR to clean up the code a bit and target the new APIs in 0.6.0 and 0.7.0.

To compile Arrow this older version yourself, you can do something like:

VERS=0.4.1
curl -O https://github.com/apache/arrow/archive/apache-arrow-$VERS.tar.gz
tar xvzf apache-arrow-$VERS.tar.gz
mkdir -p arrow-apache-arrow-$VERS/cpp/build
pushd arrow-apache-arrow-$VERS/cpp/build
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DARROW_BUILD_SHARED=on \
    -DARROW_BUILD_STATIC=off \
    -DARROW_BOOST_USE_SHARED=on \
    -DARROW_JEMALLOC_USE_SHARED=on ..
make -j
make install
1 Like