Conversation
|
Hi @mgates3, just wanted to ask about whether you are still working on this PR. |
|
Yes, but not a high priority for me right now. If you want to take it over, we can meet to discuss. If so, let's email. |
6252eca to
18a0ff1
Compare
|
@TeachRaccooon I rebased this onto the latest master. As discussed, it needs the CMake config. Possibly everything else is done, but I haven't looked at it in a couple months. Thanks for taking a look at it. |
|
Hi @mgates3. Is there anything blocking merging this PR? |
18a0ff1 to
61259aa
Compare
|
@rileyjmurray I updated the Python config and CMake. It's a little tricky detecting whether we have the new or old Accelerate — I think it has a reliable test now. Can you test to see if it works? |
|
@mgates3 the CMake route worked perfectly. I checked that I could hook it into RandBLAS just fine. The configure.py route couldn't get anywhere when I was using my spack-managed compiler (LLVM 17, with OpenMP). It seemed to work when I used my system compiler (LLVM 15, no OpenMP), in the sense that Edit: here's the blas/defines.h file of the installation produced with configure.py. Looks good to me! // Copyright (c) 2017-2023, University of Tennessee. All rights reserved.
// SPDX-License-Identifier: BSD-3-Clause
// This program is free software: you can redistribute it and/or modify it under
// the terms of the BSD 3-Clause license. See the accompanying LICENSE file.
#ifndef BLAS_DEFINES_H
#define BLAS_DEFINES_H
// auto-generated by: configure.py prefix=/Users/rjmurr/Documents/tempblas/blaspp/../install blas=Accelerate blas_int=int64
//
// host:
//
// Definitions for:
// CXX = g++
//
// LIBS = -framework Accelerate
//
#define BLAS_HAVE_ACCELERATE
#define ACCELERATE_NEW_LAPACK
#define BLAS_FORTRAN_ADD_
#define BLAS_ILP64
#define BLAS_COMPLEX_RETURN_ARGUMENT
#define BLAS_HAVE_CBLAS
#define BLAS_HAVE_LAPACK
#endif // #ifndef BLAS_DEFINES_H |
|
Update on my side:
@mgates3 is there any chance there exists an obvious solution to my issue? |
|
@TeachRaccooon
|
maksim$ cmake -DCMAKE_BUILD_TYPE=Release -Dblas_int=int64 -DCMAKE_INSTALL_PREFIX=pwd/../../../install/blaspp-install -DCMAKE_BINARY_DIR=pwd -Dbuild_tests=OFF ../../randlibs/blaspp; -- Looking for CUDA (gpu_backend = auto) -- Looking for HIP/ROCm (gpu_backend = auto) -- Looking for oneMKL-SYCL (gpu_backend = auto) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Looking for BLAS libraries and options (blas = auto) Intel MKL ilp64, sequential, gfortran Intel MKL ilp64, sequential, ifort IBM ESSL int64 (ilp64), sequential OpenBLAS Apple Accelerate (new) -- Checking BLAS library version -- Looking for LAPACK libraries and options (lapack = auto) -- Configuring done
|
Add support for Apple's new Accelerate library. Unfortunately it takes a rather different approach to updating than any other library, requiring that we use Apple's headers to get the decorated prototypes.