Boost logo

Ublas :

Subject: Re: [ublas] Bindings with ACML MSVC example project? I have linking problems.
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2012-07-01 07:26:19

Op 30-6-2012 20:54, George Slavov schreef:
> Thanks for your response Thomas. I really should have mentioned my build
> environment. I'm on Windows 7, 64-bit as you guessed, using MSVC 2010
> and Acml 5.1.0. I was really hoping the integer 8 macro will do the
> trick, but it didn't seem to change anything. I really want to use
> 64-bit versions of things because I'll be using pretty large data sets,
> so I'm not sure I even want to get the 32-bit version of Acml working.
> I traced the ublas bindings call I have
> boost::numeric::bindings::blas::gemv(1.0f,A,x,0,blasResult);
> all the way to the Acml call
> BLAS_SGEMV( &blas_option< Trans >::value, &m, &n, &alpha, a, &lda, x,
> &incx, &beta, y, &incy );
> and my debugger shows the first parameter (blas_option< Trans >::value)
> contains 'N' as a char, so that looks right. But something here confuses
> me. Acml.h shows the signature of sgemv is
> extern void sgemv(char transa, int m, int n, float alpha, float *a, int
> lda, float *x, int incx, float beta, float *y, int incy);
> Note the first param is not a pointer to a char, but the char itself. So
> what's with all the reference operators in the ublas bindings code?

It's generating a call to the Fortran library; Fortran needs references.
Apparently you're binding against ACML's C-library? If so, does it help