Status of Arrayfire Rust

71 views
Skip to first unread message

Andrew

unread,
Dec 21, 2023, 1:35:11 PM12/21/23
to ArrayFire Users
Has ArrayFire Rust been abandoned?  It seems to have "official API" status but it looks like the last update to master was almost a year ago.

I have the same bug as #200 and #201 just with newer libraries. (now num 0.4 vs 0.2 instead of num 0.2 vs 0.1).

Would love to see official support for Rust.

John Melonakos

unread,
Jan 3, 2024, 1:39:14 PM1/3/24
to ArrayFire Users
Hi Andrew, thank you for your question. The ArrayFire Rust package has not been abandoned. Pradeep maintains it as a side project. I will reach out to him to see what the latest is. Thanks!
-John

Oleg Mikulchenko

unread,
Jan 18, 2024, 4:19:31 PM1/18/24
to John Melonakos, ArrayFire Users
That (ArrayFire in Rust) would be very valuable, especially taking in mind active candle development. I am happy with AF on my new Meteor Lake laptop for my Arc GPU and would like to extend its usage.

I also have a general status question - is ArrayFire actively developed now? 

Thanks,
Oleg

--
You received this message because you are subscribed to the Google Groups "ArrayFire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to arrayfire-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/arrayfire-users/bc675930-47d0-48ed-a221-db52eb29ce73n%40googlegroups.com.

John Melonakos

unread,
Jan 18, 2024, 5:12:45 PM1/18/24
to ArrayFire Users
Hi Oleg,

It's great to hear about the Meteor Lake and Arc GPU. Have you been able to run the oneAPI backend on the Arc GPU yet?

Yes, we are actively developing and hope to have a new release this quarter. We've had many contributions from external folks that we will contribute.

We are looking for help with the Rust wrapper. If you know anyone able to help, let us know.

Thanks,

John

Oleg Mikulchenko

unread,
Jan 18, 2024, 6:47:08 PM1/18/24
to John Melonakos, ArrayFire Users
Hi, John, 

Nice to hear from you. 

No, I didn't try to make OneAPI back end. Just default OpenCL. Can you remind me of the steps I need to follow (with recent updates)?

As for Rust, I just have started to learn Rust recently, my knowledge is rudimentary, but I will ask on some forums.

Cheers,
Oleg

Oleg Mikulchenko

unread,
Jan 18, 2024, 7:20:02 PM1/18/24
to ArrayFire Users
I've tried with only one change: AF_BUILD_ONEAPI=ON
 
I have oneapi 2024.0 version installed. 

But I have the following error:
---
CMake Error at src/backend/oneapi/CMakeLists.txt:349 (target_link_libraries):
  Target "afoneapi" links to:

    MKL::MKL_DPCPP

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.



-- Generating done (0.6s)
CMake Generate step failed.  Build files cannot be regenerated correctly.
ol@ol-aib1mg ~/arrayfire/build $ which dpcpp
/home/ol/intel/oneapi/compiler/2024.0/bin/dpcpp
---

As you can see, I have DPCPP installed. But it may be the wrong version, since I have some warning about mkl:
---
CMake Warning at CMakeLists.txt:144 (find_package):
  Could not find a configuration file for package "MKL" that is compatible
  with requested version "2023.1".

  The following configuration files were considered but not accepted:

    /home/ol/intel/oneapi/mkl/2024.0/lib/cmake/mkl/MKLConfig.cmake, version: 2024.0.0
---

Please advise.

Thanks,
Oleg

ste...@arrayfire.com

unread,
Jan 31, 2024, 6:03:05 PM1/31/24
to ArrayFire Users
MKL recently changed the binary directories and CMake targets. We haven't had a chance to update our CMakeLists.txt to the newest version yet.
One option is to downgrade MKL to 2023.1 or 2023.2.

Another is to tweak the following lines:
CMakeLists.txt:141 
- set(DPCPP_COMPILER ON)
+ set(SYCL_COMPILER ON)

src/backend/oneapi/CMakeLists.txt:362
- MKL::MKL_DPCPP
+ MKL::MKL_SYCL

Our 3.9 binary installers also have pre-built support for the oneapi backend :)

Oleg Mikulchenko

unread,
Jan 31, 2024, 8:36:36 PM1/31/24
to ste...@arrayfire.com, ArrayFire Users
Thanks, 

I've tried but got following errors:

cmake: 
---
CMake Error at src/backend/oneapi/CMakeLists.txt:349 (target_link_libraries):
  Target "afoneapi" links to:

    MKL::MKL_SYCL


  but the target was not found.
---
make:
--- 
cannot find -lMKL::MKL_SYCL: No such file or directory
---

 I have pre-build binary libraries, but prefer to have it compiled from source. 

Reply all
Reply to author
Forward
0 new messages