Closed ghost closed 2 years ago
By the way, what is the efficiency of python module comparing with C++ version in ctf
?
@Montagna2023 taking into account also the info you sent via email regarding your MPICH version (3.0.4, from 2013), I would suggest to upgrade MPICH on your system. The MPI file I/O standard may have changed since then.
By the way, what is the efficiency of python module comparing with C++ version in
ctf
?
Should be the same in most cases. The same underlying code is called. The Python version may create unnecessary clones/copies of tensors when executing some routines, that would be the only overhead.
@solomonik Thank you so much!
After updated to mpich
3.4.2, and make install
with superuser, I got
if [ -d hptt ]; then \ echo "WARNING: detected HPTT installation in hptt/, you might need to also install it manually separately."; \ fi if [ -d scalapack ]; then \ echo "WARNING: detected ScaLAPACK installation in scalapack/, you might need to also install it manually separately."; \ fi WARNING: detected ScaLAPACK installation in scalapack/, you might need to also install it manually separately. mkdir -p /usr/local/lib /usr/local/include cp /home/username/Research_Projects/ctf-master/ctf-master/lib/libctf.a /usr/local/lib cp /home/username/Research_Projects/ctf-master/ctf-master/lib_shared/libctf.so /usr/local/lib cd src/scripts && bash ./expand_includes.sh && cd .. mv include/ctf_all.hpp /usr/local/include/ctf.hpp
anyway, make python_install
and make python_test
lead to
Cyclops Python tests completed.
. Wonderful!
Though two things I am bit unsure. In configure
, there are messages
(1)
Checking for static BLAS library...
WARNING: static BLAS libirary did not work, executables will not build (errors for a few configurations below),
+ mpicxx -D_POSIX_C_SOURCE=200112L -D__STDC_LIMIT_MACROS -Wall -O3 -std=c++0x -fopenmp .test.cxx
/tmp/ccYvdK0e.o: In function `main':
.test.cxx:(.text.startup+0x5): undefined reference to `dgemm_'
collect2: error: ld returned 1 exit status
+ mpicxx -D_POSIX_C_SOURCE=200112L -D__STDC_LIMIT_MACROS -Wall -O3 -std=c++0x -fopenmp .test.cxx
/tmp/ccxgOa7T.o: In function `main':
.test.cxx:(.text.startup+0x5): undefined reference to `dgemm'
collect2: error: ld returned 1 exit status
I have lblas
in my local PC.
(2)
make test
leads to
algstrct.cxx:(.text+0x1e43): undefined reference to
scopy'
algstrct.cxx:(.text+0x1e63): undefined reference to `zcopy'
algstrct.cxx:(.text+0x1e83): undefined reference to dcopy_'
...
lapack_symbs.cxx:(.text+0x163): undefined reference to
dormqr_'
collect2: error: ld returned 1 exit status
`
Configure suggests that it was not able to find a BLAS library or was unhappy with the one you specified. See ./configure --help
and build examples on the wiki for how to pass the path to BLAS. If you just need the C++ CTF library, BLAS need not be provided to CTF, but must be linked along with CTF to whatever application uses CTF. To build C++ targets in CTF, such as tests, you need to provide a valid static BLAS library, while to build python CTF, you need a dynamic build linked to a dynamic BLAS library. You can also control which builds CTF configures for, with ./configure --no-static or ./configure --no-dynamic, by default it tries to do both when you run make
.
Hi,
I tried install ctf in windows subsystem linux.
./configure
thenmake
thenmake install
../configure
gives mewhich looks fine.
Then
make
gives memake install
gives a lot of error messages. I would like to know what setting I am missing to proceed normally. Thanks a lot.