Skip to content
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

BLAS="CBLAS" ? when i change the configure_run.sh #102

Open
sowhatgavin opened this issue Oct 13, 2015 · 8 comments
Open

BLAS="CBLAS" ? when i change the configure_run.sh #102

sowhatgavin opened this issue Oct 13, 2015 · 8 comments

Comments

@sowhatgavin
Copy link

Hi,

i'm trying to install "HiFiLES".

when i changed the configure_run.sh , i found that:

BLAS="ATLAS" # ATLAS, STANDARD, ACCLERATE, or NO

i intall "CBLAS" before i install "HiFiLES", so i want to know BLAS=? 3Q

if i write BLAS="CBLAS"

i get
BLAS support:
MPI support: YES
CUDA support: NO
TecIO support: NO

I'm not sure if BLAS is supported. I think no.

if i write BLAS="ATLAS"

i get error:

checking for /vol6/home/wpsong/lib/CBLAS/lib/libcblas.a... yes
checking for /vol6/home/wpsong/lib/CBLAS/lib/libatlas.a... no
configure: error: BLAS linking requested but library files not found (libcblas.a, libatlas.a).

I think it is wrong.

if i write BLAS="STANDARD"

i get error

CXXLD ../bin/HiFiLES
$HOME/lib/CBLAS/lib/libcblas.a(cblas_daxpy.o): In function cblas_daxpy': cblas_daxpy.c:(.text+0x36): undefined reference todaxpy_'
$HOMElib/CBLAS/lib/libcblas.a(cblas_dgemm.o): In function cblas_dgemm': cblas_dgemm.c:(.text+0x152): undefined reference todgemm_'
cblas_dgemm.c:(.text+0x249): undefined reference to `dgemm_'
make[1]: *** [../bin/HiFiLES] Error 1


So, please help me if you have met this problem. Thanks.

P.S My English is so so. Sorry.

@mlopez14
Copy link
Member

Is the file libatlas.a located in /vol6/home/wpsong/lib/CBLAS/lib/? If not, there must have been an error during the BLAS installation or this directory does not have all of the files.

Specifying a form of BLAS installation (say STANDARD) while having a different BLAS installation (say ATLAS) will lead to the errors of the type "$HOME/lib/CBLAS/lib/libcblas.a(cblas_daxpy.o): In function cblas_daxpy': cblas_daxpy.c:(.text+0x36): undefined reference todaxpy_'". So you will need to specify the type of installation you do have.

If you have installed some form of BLAS, find the directory in which library files

libatlas.a libcblas.a libf77blas.a libf77refblas.a liblapack.a libptcblas.a libptf77blas.a libptlapack.a libtstatlas.a

are installed. This directory would go in the line BLAS_LIB= in configure_run.sh.

Then find where files like cblas.h and clapack.h are. This directory would go in the line BLAS_INCLUDE= in configure_run.sh.

For example, in my case,
BLAS_LIB="/usr/local/atlas/lib"
BLAS_INCLUDE="/usr/local/atlas/include"

Just in case, here's a brief tutorial on how to install ATLAS on Ubuntu: https://github.com/HiFiLES/HiFiLES-solver/wiki/Installing-ATLAS-in-Ubuntu

@sowhatgavin
Copy link
Author

Thank mlopez14 very much.

Let me introduce my problem now. Thanks for reading.

I need to install HiFiLES-solver with BLAS .

My hardware decides that I only have two choices: 1. ATLAS 2. STANDARD.

But when i try to install ATLAS , i need the root user to change associated settings. But now i don't have root permission.

So i have to choice STANDARD now.

My question is

if STANDARD is CBLAS?

what should i do if I got error when I write BLAS="STANDARD" 、installed CBLAS and setting the right path to libcblas.a ?

Thank you very much !
Thank you very much !

@sowhatgavin
Copy link
Author

when i install CBLAS , i only got libcblas.a in ~/lib and cblas.h in ~/include

maybe i need to install lapack first if i try to choice CBLAS?

or when i write BLAS='STANDARD', what BLAS library should be installed fisrt?

Thank you !

@mlopez14
Copy link
Member

You can install ATLAS locally without being root.

The only part that should require sudo access is the make install.

By the time you reach that step, the code is already compiled. You'll need to find where the compiled libraries and the include files are and type the names of those folders in HiFiLES's config_run.sh file.

Post the error messages you get.

In any case, because these questions are related to BLAS and ATLAS, we might not know the definitive answers, so I would encourage you to find forums where these questions are discussed.

@sowhatgavin
Copy link
Author

Thank you very much !

when I try to install ATLAS, I meet an error

Parallel make command configured as '$(MAKE) -j 24'
CPU Throttling apparently enabled!
It appears you have cpu throttling enabled, which makes timings
unreliable and an ATLAS install nonsensical. Aborting.
See ATLAS/INSTALL.txt for further information
xconfig exited with 1

And then, I readed the pdf.

2.2 Turn off CPU throttling when installing ATLAS
Most OSes and hardware now turn on CPU throttling for power management
even if you are using a desktop machine. CPU throttling makes pretty much all timings
completely random, and so any ATLAS install will be junk. Therefore, before installing
ATLAS, turn off CPU throttling.
ATLAS, turn off CPU throttling. For most PCs, you can switch it off in the BIOS (eg., on
my Athlon-64 machine, I can say ”No” to ”Cool and Quiet” under ”Power Management”).
Most OSes also provide a way to switch off CPU throttling, but that varies from OS to OS.

So I think that I need to turn off CPU throllling.

But if I don't have the root permission, I don't know how to close it.

In a word, I believe that I have to get the root permission and turn off CPU throlling so that I can install the ATLAS.

Maybe I am wrong, so I need your help to tell me what should I do now.

Thank you again !


If I can't get the root permission, I want to try installing the CBLAS lib instead.

So my another question is what should I write after "BLAS= " if I want to install CBLAS ?


In the last, I'm very appreciated your advice. And I will try to find forums.

If you know some forums maybe helpful, please tell my.

Thank you for your help,I appreciate your helping me

@mlopez14
Copy link
Member

I don't know off the top of my head which BLAS version you should install in this case.

Which kind of cluster are you using?

@sowhatgavin
Copy link
Author

Thank you for your answer.

The blas is 3.5.0 .
I download it from

http://www.netlib.org/blas/

The cblas also download from it.


I'm not sure how to describe the cluster.

The operating system is 64-bit Linux.

I think it should be called just HPC (High Perfermance Computing) system.


when i try to install HiFiles with ATLAS, I met that

checking for /vol6/home/wpsong/lib/CBLAS/lib/libcblas.a... yes
checking for /vol6/home/wpsong/lib/CBLAS/lib/libatlas.a... no
configure: error: BLAS linking requested but library files not found (libcblas.a, libatlas.a).

So, I think that when i use ATLAS, I should use libatlas.a and libcblas.a together.

Similarly, if I use STANDARD, I should use libblas.a and libcblas.a together , is it right?
I did't find the place to specify the libblas.a path.

when i write "BLAS=STANDARD" in the configure_run.sh and ./configure_run.sh

I got:

checking for /vol6/home/wpsong/lib/CBLAS/lib/libcblas.a... yes

but I did't find that the "configure" check the libblas.a.

the libblas.a is needed, right?


When i met the error like this:

$HOME/lib/CBLAS/lib/libcblas.a(cblas_daxpy.o): In function cblas_daxpy': cblas_daxpy.c:(.text+0x36): undefined reference todaxpy_'

I try to find the todaxpy_ and it is founded in the "libblas.a" but not in "libcblas.a".

So I think that the 'libblas.a' is also useful, how to specify ?

Thank you very much !

please forgive my wordy.

Best wishes !

@mlopez14
Copy link
Member

You have installed STANDARD BLAS. The error you encounter is due to a problem in the installation of CBLAS because the error is originating in a CBLAS function. Let us know if you get it working.

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

No branches or pull requests

2 participants