Skip to content

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

Merged
merged 2 commits into from
May 6, 2020

Conversation

jacobkahn
Copy link
Contributor

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)

@jacobkahn jacobkahn force-pushed the arrayfire-conanfile branch from eb8c326 to ce0d9e5 Compare May 6, 2020 01:37
@9prady9
Copy link
Member

9prady9 commented May 6, 2020

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.

jacobkahn added a commit to jacobkahn/flashlight that referenced this pull request May 6, 2020
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
@9prady9 9prady9 merged commit 5322673 into arrayfire:master May 6, 2020
@umar456 umar456 added this to the 3.7.2 milestone Jun 27, 2020
umar456 pushed a commit to umar456/arrayfire that referenced this pull request Jun 27, 2020
…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
@umar456 umar456 mentioned this pull request Jun 27, 2020
2 tasks
9prady9 pushed a commit that referenced this pull request Jun 27, 2020
…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
jacobkahn added a commit to jacobkahn/flashlight that referenced this pull request Jul 5, 2020
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
jacobkahn added a commit to jacobkahn/flashlight that referenced this pull request Jul 7, 2020
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
facebook-github-bot pushed a commit to flashlight/flashlight that referenced this pull request Jul 7, 2020
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
facebook-github-bot pushed a commit to flashlight/flashlight that referenced this pull request Jul 7, 2020
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 25, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 27, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 27, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 27, 2022
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
jacobkahn added a commit to flashlight/text that referenced this pull request Mar 27, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
jacobkahn added a commit to flashlight/sequence that referenced this pull request Oct 13, 2022
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
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

Successfully merging this pull request may close these issues.

3 participants