-
Notifications
You must be signed in to change notification settings - Fork 545
Add an ArrayFire conanfile.py that pulls from the linux binary installer #2875
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
Conversation
eb8c326
to
ce0d9e5
Compare
arrayfire build especially for CUDA backend for all computes takes significant time, I wonder if conan allows/handles such huge build times while building a package from source. Let's say we do provide such facility, I have question, let's say someone wants to use araryfire conan package, could they potentially build cuda backend for a specific compute on their development device ? I am not sure how much of benefit that would provide 🤔 Idea to add to conan-community sounds good to me. |
Summary: Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Differential Revision: D21425652 fbshipit-source-id: ec30de11eac4864fa42195de922bd3b8cd654cf9
…ler (arrayfire#2875) * Add an ArrayFire conanfile.py that pulls from the linux binary installer * Make backends and graphics opt-in/out, use variables for lib versioning
…ler (#2875) * Add an ArrayFire conanfile.py that pulls from the linux binary installer * Make backends and graphics opt-in/out, use variables for lib versioning
Summary: Pull Request resolved: flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: b70e869c87e2ad582424c6a8288c29ca05ffdae8
Summary: Pull Request resolved: flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 945cda8baffe2e595f71901133d72208d8388d96
Summary: Pull Request resolved: #119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Summary: Pull Request resolved: flashlight/flashlight#119 Needed changes to CMake files to support a flashlight Conan package. Support adding `CONAN_PKG::[package]` where needed. Conan pulls in ArrayFire (see arrayfire/arrayfire#2875, in progress) along with OpenMPI, Cereal, and Google Test, so conditionally find/pull in those deps based on if those Conan package imported targets exist. Reviewed By: vineelpratap Differential Revision: D21425652 fbshipit-source-id: 4d13b5bcb7f5420527214c2f4ca5deda034d0da5
Summary: Adds Conan support on flashlight. This is on the heels of Conan support for ArrayFire (arrayfire/arrayfire#2875). Note that that PR doesn't need to land for this to be viable, since I'll be uploading the ArrayFire package to the `conan-community` remote one of these days I'll also add `flashlight/0.1` to the [`conan-community` remote](https://docs.conan.io/en/latest/uploading_packages/remotes.html#conan-community) eventually as well. Note that only the CUDA backend is supported right now (the AF binary installer provides non-CUDA-RT CUDA libraries) -- MKL-DNN has no Conan support Build is also Linux-based only for now. The AF binary installer used is for Linux. Reviewed By: andresy, vineelpratap Differential Revision: D21427691 fbshipit-source-id: e85f6911b3e3340db339fae5520112a1d2b2af09
Conan is a C++ package manager with a large ecosystem and several projects that have dependencies on CUDA/OpenCL (e.g. OpenCV).
This Conan configuration is minimal and only pulls from the Linux binary installer. I've tested it with other downstream projects (e.g. flashlight), and it works. The installer as it stands is backend agnostic since it installs all libraries in the binary installer (except for
debug
libraries). One could eventually add a version that builds from source (and is thus eligible for all of the configuration options that Conan provides), but the Linux installer is already quite generic/has many of these things already.I'll also be adding the package provided by this installer to the
conan-community
remote which has packages which are still experimental/being improved. We can easily push breaking changes to those at any point.(I've added myself as author of the package config for now -- we should change that to be an appropriate author/a generic AF point of contact)