Compiling OmniSciDB: CentOS 7 (GPU)

Randy Zwitch
Jun 19 · 2 min read

In my role as Senior Director of Developer Advocacy at OmniSci, one of my many responsibilities is to monitor our various ‘Help’ areas like GitHub issues and the Community message board. While speaking at conferences and contributing to open-source projects is valuable, answering user questions provides a rich understanding of what our product currently does, what our users would like OmniSci to do, and where our documentation could be better.

In this post, I’ll demonstrate how to compile OmniSciDB (open-source) on CentOS 7 with GPU-support, and in future posts, I will demonstrate how to compile OmniSci on various other platforms for both CPU-only and GPU-enabled.

This post is focused on those who want to contribute to OmniSciDB (and thus need an actual build environment); if you just want to try OmniSciDB, we provide Docker images, as well as tarball downloads and even OmniSci Cloud(paid, 14-day free trial).

Building OmniSciDB Using Docker

Rather than repeat the rationale behind building OmniSciDB using Docker, please see my other post ‘Compiling OmniSciDB: Ubuntu 16.04 LTS (CPU)’ which goes into the full detail of installing the required OmniSci build dependencies.

Here is the full build script to compile OmniSciDB on CentOS 7:

The biggest difference between the commands used for my Ubuntu posts (linked at the bottom of this post) and the CentOS 7 CPU commands is line 9: bash /omniscidb/scripts/mapd-deps-prebuilt.sh . In the Ubuntu posts, I showed the script that uses the apt package manager to install all of the dependencies; the mapd-deps-prebuilt.sh script, as the name indicates, installs pre-built dependencies. Neither is “right” or “wrong”, just two different methods we provide.

Running Sanity Tests

After the build has successfully completed, you can validate that OmniSciDB compiled correctly using make sanity_tests:

Upon successfully passing the tests, you’ll get the following message:

What Will You Contribute?

With an OmniSciDB CPU-only build environment in-place, the only thing left is to contribute! OmniSciDB is an Apache 2.0 licensed project and we welcome contributions of all kinds, from documentation improvements to the lowest-level code updates.

To contribute to the OmniSciDB codebase, stop by our GitHub repo and submit a pull request. Although not required, if you are planning to submit a large pull request, submitting an issue before you start working will give our internal engineers an idea of what you are working on and allow them to guide you through the submission process.

Happy building!


Randy Zwitch

Written by

Senior Director of Developer Advocacy at OmniSci, open-source contributor to R, Python and Julia programming languages

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade