Code Monkey home page Code Monkey logo

madness's People

Contributors

aguermou avatar ahurta92 avatar alvarovm avatar anton-potapov avatar bosilca avatar bsundahl avatar calewis avatar cobodo avatar dagalindo avatar evaleev avatar fbischoff avatar gifornl avatar hartmanbaker avatar hborchert avatar iitaka1142 avatar jakiej avatar jeffhammond avatar jtande avatar judyhill avatar justusc avatar keceli avatar kevinastock avatar kottmanj avatar lratcliff avatar mgr522 avatar naromero77 avatar nickvence avatar robertjharrison avatar therault avatar wsttiger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

madness's Issues

Circular dependency when building MADNESS

When compiling with make -j I get the following dependency error:

mpicxx -DHAVE_CONFIG_H -I../../../../include -I../../../../src/lib -I../../../../src/apps -I../../../include -I/homes/lratcliff/libxc-2.0.x/bin/include -std=c++0x -O3 -Wall -Wno-strict-aliasing -Wno-deprecated -ffast-math -std=c++0x -march=native -MT test_linalg.o -MD -MP -MF .deps/test_linalg.Tpo -c -o test_linalg.o ../../../../src/lib/tensor/test_linalg.cc
make[3]: *** No rule to make target ../../../src/lib/tensor/libMADtensor.a', needed bytest_linalg'. Stop.
make[3]: *** Waiting for unfinished jobs....

It can be avoided by compiling simply with make or by compiling trunk/src/lib/tensor before continuing.

Shallow copy and violation of constness

Google code issue 15

Reported by @robertjharrison, May 13, 2008

const function a;
function b = a;

perform inplace operation on b ... changes a.

Same problem for tensors.

Have not tested this but need to ensure that the copy constructors and assignment for anything that has shallow semantics does not violate constness.

TBB configure test failure

Is this is a TBB issue and if so, what is the solution? Is there a specific version of TBB that MADNESS requires?

configure:8077: checking tbb/tbb.h usability
configure:8077: icpc -c  -O3 -Wall -diag-disable remark,279,654,1125  -ip -no-prec-div -mkl=sequential -ansi -xHOST -std=c++0x  -I/opt/intel/composer_xe_2015.0.057/tbb/lib/include conftest.cpp >&5
In file included from /opt/intel/composer_xe_2015.0.057/tbb/include/tbb/tbb.h(59),
                 from conftest.cpp(68):
/opt/intel/composer_xe_2015.0.057/tbb/include/tbb/pipeline.h(338): error: namespace "std" has no member "has_trivial_copy_constructor"
  template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                           ^

In file included from /opt/intel/composer_xe_2015.0.057/tbb/include/tbb/tbb.h(59),
                 from conftest.cpp(68):
/opt/intel/composer_xe_2015.0.057/tbb/include/tbb/pipeline.h(338): error: type name is not allowed
  template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                                                        ^

In file included from /opt/intel/composer_xe_2015.0.057/tbb/include/tbb/tbb.h(59),
                 from conftest.cpp(68):
/opt/intel/composer_xe_2015.0.057/tbb/include/tbb/pipeline.h(338): error: the global scope has no "value"
  template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };

Can someone suggest how to build MADNESS on Titan Cray XK6

Google Code issue 49

Reported by milisoft, Feb 26, 2014

I am trying to compile MADNESS on ORNL Titan using GNU tool chain. The instructions given in the INSTALL directory suggest to simply use ./configure; but that is not sufficient since it fails to find a valid path to a C compiler. Is there is a wiki page on how to compile MADNESS on XK6?

-Milind

Consistent function interface

Google Code issue 9

Reported by @robertjharrison, Jan 27, 2008

Must respect the non-blocking requests. If an operation cannot be issued without blocking (e.g., must compress/reconstruct an input function) but non-blocking has been requested then we should throw an exception since this is an error.

The real fix to this is to implement either a real work queue (c.f., a graphics pipeline) or simply use the existing future mechanism to chain together all of the operations necessary
to perform a high-level task. This would have real benefits w.r.t. ease-of-composition of many applications.

Compile fails at worldprofile.cc on Cray XE6

Google Code issue 36

Reported by padamson1975, Mar 16, 2012

I'm compiling on a Cray XE6 (raptor at AFRL DSRC) using GNU compilers and ACML. Compile fails on worldprofile.cc with the following:

CC -DHAVE_CONFIG_H   -I../../../include -I../../../src/lib  -I../../../src/apps -I../../../include   -std=c++0x -O3 -Wall -Wno-strict-aliasing -Wno-deprecated  -ffast-math -std=c++0x -march=native -MT worldprofile.o -MD -MP -MF .deps/worldprofile.Tpo -c -o worldprofile.o worldprofile.cc
In file included from ../../../src/lib/world/mpiar.h:41:0,
                 from worldprofile.cc:35:
../../../src/lib/world/vecar.h: In member function 'typename madness::enable_if<madness::is_serializable<T>, void>::type madness::archive::VectorInputArchive::load(T*, long int) const':
../../../src/lib/world/vecar.h:92:57: error: there are no arguments to 'memcpy' that depend on a template parameter, so a declaration of 'memcpy' must be available
../../../src/lib/world/vecar.h:92:57: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
worldprofile.cc: At global scope:
worldprofile.cc:320:17: warning: 'void madness::est_profile_overhead()' defined but not used
make[3]: *** [worldprofile.o] Error 1
make[3]: Leaving directory `/home/padamson/opt/madness/src/lib/world'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/padamson/opt/madness/src/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/padamson/opt/madness/src'
make: *** [all-recursive] Error 1

I checked out the code using cvs.

Thanks,
Paul Adamson

chemistry lib

Hi all,

I've created the new library in lib/chem/ and I've put the most relevant files there. Anyone who's interested please see if this looks alright to him/her, it's the latest commit to the seprep branch. Suggestions are welcome.

Florian

make install

"make install" should install all MADNESS libraries, MolDFT. It should not install any or a select few test executables.

Segmentation fault in mTxmq when running testsuite

Running testsuite produces a segmentation fault in mTxmq when Testing 1-D separated operators. @wsttiger, mTxmq is yours right? Can anyone else using LLVM 6.0 reproduce this?

(gdb) run terminates with:

Test separated operators - type = std::complex<double> , ndim = 1 

timer:              project     0.00s     0.00s
         f norm is 1.00000000e+00
     f total error 4.27882902e-14
[New Thread 0x170b of process 92944]
[New Thread 0x1803 of process 92944]
[New Thread 0x1903 of process 92944]

Program received signal SIGSEGV, Segmentation fault.
0x000000010090b946 in madness::mTxmq<std::__1::complex<double>, double, std::__1::complex<double> > (dimi=4330568192, dimj=20, dimk=0, c=<optimized out>, a=<optimized out>, b=0x1021f3ae0) at mtxmq.cc:1383
1383                __asm__ volatile

(gdb) where returns:

#0  0x000000010090b946 in madness::mTxmq<std::__1::complex<double>, double, std::__1::complex<double> > (dimi=4330568192, dimj=20, dimk=0, c=<optimized out>, a=<optimized out>, b=0x1021f3ae0) at mtxmq.cc:1383
#1  0x00000001000f5739 in madness::Tensor<madness::TensorResultType<std::__1::complex<double>, double>::type>& madness::fast_transform<std::__1::complex<double>, double>(madness::Tensor<std::__1::complex<double> > const&, madness::Tensor<double> const&, madness::Tensor<madness::TensorResultType<std::__1::complex<double>, double>::type>&, madness::Tensor<madness::TensorResultType<std::__1::complex<double>, double>::type>&) ()
#2  0x00000001000f4f45 in madness::Tensor<madness::TensorResultType<std::__1::complex<double>, double>::type> madness::transform<std::__1::complex<double>, double>(madness::Tensor<std::__1::complex<double> > const&, madness::Tensor<double> const&) ()
#3  0x000000010010d8a3 in madness::Convolution1D<std::__1::complex<double> >::nonstandard(int, long long) const ()
#4  0x000000010010cd41 in madness::SeparatedConvolution<std::__1::complex<double>, 1ul>::getmuop(int, int, madness::Key<1ul> const&) const ()
#5  0x000000010010528a in madness::SeparatedConvolution<std::__1::complex<double>, 1ul>::getop_ns(int, madness::Key<1ul> const&) const ()
#6  0x00000001000fe746 in double madness::FunctionImpl<std::__1::complex<double>, 1ul>::do_apply_directed_screening<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const, std::__1::complex<double> >(madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const*, madness::Key<1ul> const&, madness::GenTensor<std::__1::complex<double> > const&, bool const&) ()
#7  0x00000001000fdc00 in madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply_op2<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const>::operator()(madness::Key<1ul> const&) const ()
#8  0x00000001000fd533 in madness::Void madness::FunctionImpl<std::__1::complex<double>, 1ul>::traverse_tree<madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply_op2<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const>, madness::noop<std::__1::complex<double>, 1ul> >(madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply_op2<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const> const&, madness::noop<std::__1::complex<double>, 1ul> const&, madness::Key<1ul> const&) const ()
#9  0x0000000100115eb7 in madness::TaskFn<madness::detail::MemFuncWrapper<madness::FunctionImpl<std::__1::complex<double>, 1ul> const*, madness::Void (madness::FunctionImpl<std::__1::complex<double>, 1ul>::*)(madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply_op2<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const> const&, madness::noop<std::__1::complex<double>, 1ul> const&, madness::Key<1ul> const&) const, madness::Void>, madness::Future<madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply_op2<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const> >, madness::noop<std::__1::complex<double>, 1ul>, madness::Key<1ul>, void, void, void, void, void, void>::run(madness::TaskThreadEnv const&) ()
#10 0x0000000100058119 in madness::PoolTaskInterface::run_multi_threaded() ()
#11 0x0000000100057d01 in madness::ThreadPool::run_task() ()
#12 0x000000010020a6c9 in madness::WorldTaskQueue::fence() ()
#13 0x0000000100924dde in madness::WorldGopInterface::fence (this=0x101f077a0) at worldgop.cc:67
#14 0x00000001000fcde2 in void madness::FunctionImpl<std::__1::complex<double>, 1ul>::recursive_apply<madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const>(madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const&, madness::FunctionImpl<std::__1::complex<double>, 1ul> const*, madness::FunctionImpl<std::__1::complex<double>, 1ul>*, bool) ()
#15 0x00000001000fbb44 in madness::Function<madness::TensorResultType<madness::SeparatedConvolution<std::__1::complex<double>, 1ul>::opT, std::__1::complex<double> >::type, 1ul> madness::apply_only<madness::SeparatedConvolution<std::__1::complex<double>, 1ul>, std::__1::complex<double>, 1ul>(madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const&, madness::Function<std::__1::complex<double>, 1ul> const&, bool) ()
#16 0x00000001000fa924 in madness::Function<madness::TensorResultType<madness::SeparatedConvolution<std::__1::complex<double>, 1ul>::opT, std::__1::complex<double> >::type, 1ul> madness::apply<madness::SeparatedConvolution<std::__1::complex<double>, 1ul>, std::__1::complex<double>, 1ul>(madness::SeparatedConvolution<std::__1::complex<double>, 1ul> const&, madness::Function<std::__1::complex<double>, 1ul> const&, bool) ()
#17 0x000000010001c015 in int test_op<std::__1::complex<double>, 1ul>(madness::World&) ()
#18 0x00000001000041ef in main (argc=1, argv=0x7fff5fbff910) at testsuite.cc:1316

mpicxx -v returns

mpicxx for MPICH version 3.1.2
Apple LLVM version 6.0 (clang-600.0.41.2) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix

And I'm on a Macbook Pro with 8 GB 1600 MHz DDR3 memory and an Intel Core i5 processor.

Cray XT build fails in test_solvers.cc

Google Code issue 24

Reported by throvolos, Jan 11, 2010

What steps will reproduce the problem?

  1. module swap PrgEnv-pgi PrgEnv-gnu
  2. module load acml
  3. autoreconf
  4. ./configure
  5. make

What is the expected output? What do you see instead?
build log:

rm -f libMADlinalg.a
ar cru libMADlinalg.a lapack.o cblas.o solvers.o
ranlib libMADlinalg.a
if CC -DHAVE_CONFIG_H   -I../../../include -I../../../src/lib 
-I../../../src/apps -I../../../include   -g -Wall -Wno-strict-aliasing
-Wno-deprecated -ansi -O3 -ffast-math -march=barcelona  -mfpmath=sse -msse
-D_REENTRANT  -MT test.o -MD -MP -MF ".deps/test.Tpo" -c -o test.o test.cc; \
then mv -f ".deps/test.Tpo" ".deps/test.Po"; else rm -f ".deps/test.Tpo";
exit 1; fi
/opt/cray/xt-asyncpe/3.6.2/bin/CC: INFO: linux target is being used
CC  -g -Wall -Wno-strict-aliasing -Wno-deprecated -ansi -O3 -ffast-math
-march=barcelona  -mfpmath=sse -msse -D_REENTRANT    -o test  test.o
libMADlinalg.a ../../../src/lib/tensor/libMADtensor.a
../../../src/lib/misc/libMADmisc.a ../../../src/lib/world/libMADworld.a -lacml
/opt/cray/xt-asyncpe/3.6.2/bin/CC: INFO: linux target is being used
if CC -DHAVE_CONFIG_H   -I../../../include -I../../../src/lib 
-I../../../src/apps -I../../../include   -g -Wall -Wno-strict-aliasing
-Wno-deprecated -ansi -O3 -ffast-math -march=barcelona  -mfpmath=sse -msse
-D_REENTRANT  -MT test_solvers.o -MD -MP -MF ".deps/test_solvers.Tpo" -c -o
test_solvers.o test_solvers.cc; \
then mv -f ".deps/test_solvers.Tpo" ".deps/test_solvers.Po"; else rm -f
".deps/test_solvers.Tpo"; exit 1; fi
/opt/cray/xt-asyncpe/3.6.2/bin/CC: INFO: linux target is being used

[3]    Exit 2                        make >&
MAKE.PE2241.gnu433.libsci1041.mpt400.2010Jan11.acml410.log
test_solvers.cc: In function 'int main()':
test_solvers.cc:93: error: cannot declare variable 'solver' to be of
abstract type 'madness::QuasiNewton'
../../../src/lib/linalg/solvers.h:258: note:   because the following
virtual functions are pure within 'madness::QuasiNewton':
../../../src/lib/linalg/solvers.h:217: note:    virtual bool
madness::OptimizerInterface::optimize(madness::Tensor<double>&)
make[3]: *** [test_solvers.o] Error 1
make[3]: Leaving directory
`/lus/nid00008/malice/craypat/apps/madness/m-a-d-n-e-s-s-read-only.rev1660.gnu/src/lib/linalg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/lus/nid00008/malice/craypat/apps/madness/m-a-d-n-e-s-s-read-only.rev1660.gnu/src/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/lus/nid00008/malice/craypat/apps/madness/m-a-d-n-e-s-s-read-only.rev1660.gnu/src'
make: *** [all-recursive] Error 1

What version of the product are you using? On what operating system?
rev 1660
XT OS 2.2

Please provide any additional information below.

It doesn't matter whether you use gcc/4.4.0 or gcc/4.3.3, the error is the same. Therefore I believe this to be an error in the code.

Incorrect inplace operations

Google Code issue 10

Reported by @robertjharrison, Feb 15, 2008

The design for the function class is that member functions return info or operate inplace. C++ operators, external functions should always be logically const and not modify inplace. In particular, a+=b needs to be the same as a=a+b which is out of place.

End test questions

How to script these? Externally with Python or bash? Correct science answers? Performance tracking and regression?

Incorrect library directory in Makefiles

config/Makefile.sample contains the following line

LIBLINALGDIR=$(TRUNK)/src/lib/linalg

However, $(TRUNK)/src/lib/linalg does not exist. Not to worry, libMADlinalg.a can be found in $(TRUNK)/src/lib/tensor so one just needs to change the above line to

LIBLINALGDIR=$(TRUNK)/src/lib/tensor

This is an issue in other Makefiles as well.

Problem in Moldft

Both the latest git version and Google SVN revision 3475 have a problem in Moldft which didn't exist in MADNESS Google SVN revision 3436.

moldft is not working for even a simple atom. It can make it through the first round of the SCF loops, then it starts to print out the MOs,

alpha eigenvalues
[* ]

then it gives sig 11 (invalid memory reference). The debugger is point to line 940 of worldthread.h.

The problem can be reproduced with 1 MPI task and any number of threads both on BG/Q and a Linux desktop.

I get the following strack trace for a Helium atom (he_lda.in in src/apps/moldft/tests):
0 : (IAR=Node)Node (17)
1 : (IAR=0x0000000000000000) 0000000000000000 (1)
2 : (IAR=0x0000000001debbc4) .__libc_start_main (1)
3 : (IAR=0x0000000001deb8c8) .generic_start_main (1)
4 : (IAR=0x0000000001020b10) .main (1)
5 : (IAR=0x0000000001142f2c) .MolecularEnergy::value(madness::Tensor const&) (1)
6 : (IAR=0x0000000001141f20) .Calculation::solve(madness::World&) (1)
1 : (1)
1 : (IAR=0x0000000001e3d2ec) .clone (15)
2 : (IAR=0x0000000001d367a0) .start_thread (15)
3 : (IAR=0x00000000012efb98) .madness::ThreadBase::main(void
) (15)
4 : (IAR=0x00000000012f0c3c) .madness::Thread::run() (15)
5 : (IAR=0x00000000012f0b6c) .madness::ThreadPool::pool_thread_main(void
) (15)
6 : (IAR=0x00000000012f0ae8) .madness::ThreadPool::thread_main(madness::ThreadPoolThread*) (15)
7 : (IAR=0x00000000012ef784) .T.872 (15)

circular dependencies and encapsulation in mra.h

Hi all,

I'm trying to go through the various includes in the code, and there seems to be some circular dependencies that I would like to resolve. My understanding of the current implementation is this:

  • mra.h is included in the binaries (examples, moldft, etc)
  • the implementation of Function via FunctionImpl is hidden in funcimpl.h and mraimpl.h
  • mra.h should not include funcimpl.h and mraimpl.h

However, funcimpl.h and mraimpl.h are included in mra.h (at the top and the bottom), so they are exposed to the outside world. This leads to very long complilation times. When I remove the includes the code doesn't compile, because the FunctionImpl class and its members must be declared when its member functions are called in Function (forward declaration of FunctionImpl alone didn't work). Therefore I must include the FunctionImpl declaration in mra.h.

I can move the definitions of the FunctionImpl member to mraimpl.h and keep only the declarations in Function. When I do this I have to explicitly instantiate the member functions in mra1.cc thru mra6.cc like:

template Void FunctionImpl<double, 1ul>::reconstruct_op(const Key<1ul>&, const GenTensor& );

I guess an alternative would be to move the Function member functions to an extra definition file (instead of the FunctionImpl member functions in mraimpl.h). FunctionImpl.h could then be included in that definition file without violating the encapsulation.

Now the questions are:

  • is this understanding correct?
  • is there another, maybe better way to solve this?

There seem to be a lot of pitfalls, so I would like to know your opinion on this.

Florian

order dependence in moldft input parser

There appears to be some order dependence in the moldft input parser. For example,
dft

save false end will get ignored, unless it is placed after before "save false". For example, this will work: dft save false end

mkl configuration

The current MKL configuration seems to work only with recent MKL versions. Older MKL has the path
$MKLROOT/lib/em64t/
while more recent version have
$MKLROOT/lib/intel64/
Since "intel64" is hard-wired one has to specify the real MKL paths while unsetting mkl '--enable-mkl=no',

StubMPI is broken

Configure:

../configure --prefix=$HOME/Work/MADNESS/install-intel CC=icl CXX=icl++ --with-tbb=/opt/intel/composer_xe_2015.0.057/tbb/lib --with-stubmpi

Error:

jrhammon-mac01:build-intel jrhammon$ make 
Making all in include
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
make[2]: Nothing to be done for `all-am'.
Making all in src
Making all in lib
Making all in world
icl++ -DHAVE_CONFIG_H   -I../../../../include -I../../../../src/lib  -I../../../../src/apps -I../../../include -I/opt/intel/composer_xe_2015.0.057/tbb/lib/include  -O3 -Wall -diag-disable remark,279,654,1125  -ip -no-prec-div -mkl=sequential -ansi -xHOST -std=c++0x -MT world.o -MD -MP -MF .deps/world.Tpo -c -o world.o ../../../../src/lib/world/world.cc
In file included from ../../../../src/lib/world/world.cc:35:
In file included from ../../../../src/lib/world/worldfwd.h:340:
In file included from ../../../../src/lib/world/worldmpi.h:55:
../../../../src/lib/world/safempi.h:397:34: error: use of undeclared identifier 'MPI_Group_incl'
                MADNESS_MPI_TEST(MPI_Group_incl(other.group, n,
                                 ^
../../../../src/lib/world/safempi.h:66:30: note: expanded from macro 'MADNESS_MPI_TEST'
        int mpi_error_code = condition; \
                             ^
../../../../src/lib/world/safempi.h:403:48: error: use of undeclared identifier 'MPI_Group_free'
                    const int mpi_error_code = MPI_Group_free(&group);
                                               ^
../../../../src/lib/world/safempi.h:430:32: error: use of undeclared identifier 'MPI_Comm_compare'; did you mean
      'MPI_Comm_create'?
            const int result = MPI_Comm_compare(comm1, comm2, &compare_result);
                               ^~~~~~~~~~~~~~~~
                               MPI_Comm_create
../../../../src/lib/world/stubmpi.h:160:12: note: 'MPI_Comm_create' declared here
inline int MPI_Comm_create(MPI_Comm,  MPI_Group, MPI_Comm *newcomm) {
           ^
In file included from ../../../../src/lib/world/world.cc:35:
In file included from ../../../../src/lib/world/worldfwd.h:340:
In file included from ../../../../src/lib/world/worldmpi.h:55:
../../../../src/lib/world/safempi.h:431:67: error: use of undeclared identifier 'MPI_IDENT'
            return ((result == MPI_SUCCESS) && (compare_result == MPI_IDENT));
                                                                  ^
../../../../src/lib/world/safempi.h:449:21: error: use of undeclared identifier 'MPI_Comm_free'
                    MPI_Comm_free(&comm);
                    ^
5 errors generated.
compilation aborted for ../../../../src/lib/world/world.cc (code 2)
make[3]: *** [world.o] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Error in YlmFunctor::operator()(const coord_3d& r) const;

I found an error in the following function ( source/apps/chem/gth_pseudopotential.h:290-307). It looks like the l=1, m=1 case is not checked or computed.

This is probably not performance critical code, but why is there so much computation with constants here? I doubt the complier will optimize them away.

double_complex operator()(const coord_3d& r) const {
    const double x = r[0]-center[0]; const double y = r[1]-center[1]; const double z = r[2]-center[2];
    double rr = std::sqrt(x*x + y*y + z*z);
    double PI = constants::pi;
    if (l == 0) {
        return (1./2.)*std::sqrt(1./PI); 
    } else if (l == 1) {
        if (m == -1) {
            return (1./2.)*std::sqrt(3./2./PI)*double_complex(x, -y)/rr;
        }
        if (m == 0) {
            return (1./2.)*std::sqrt(3./PI)*z/rr;
        }
        if (m == -1) {
            return -(1./2.)*std::sqrt(3./2./PI)*double_complex(x, y)/rr;
        }
    }
}

test_future hangs on mac

On my MBP (OS X 10.9.4, compiler: clang) test_future hangs:
MADNESS runtime initialized with 3 threads in the pool and affinity -1 -1 -1
IN Q 1
IN STEAL
Stealing 0x1006020f0

On my linux machine it works:
MADNESS runtime initialized with 7 threads in the pool and affinity -1 -1 -1
IN Q 0
Helloab donea

Setup Travis-CI

We need to setup Travis-CI to test MADNESS build and test suite.

taskexample hangs

Google Code issue 34

Reported by premalal, Aug 12, 2011

Tried taskexample in src/lib/world with 4 cores on my laptop. It hangs without terminating properly.

$mpirun -np 4 ./taskexample
Runtime initialized with 3 threads in the pool and affinity -1 -1 -1
IN Q 1
IN STEAL
Stealing 0x45b9a20
IN Q 1
IN STEAL
Stealing 0x4dd7a20
IN Q 1
IN STEAL
Stealing 0x3cb5a20
IN Q 1
IN STEAL
Stealing 0x594a9f0

Information:
Operating System: Fedora 14, Kernal : 2.6.35.13-92.fc14.x86_64

make check

Is this working? Which tests does it run?

FCI Minor issues

Google Code issue 28

Reported by burnus, Dec 1, 2010

That's all with regards to: m-a-d-n-e-s-s-read-only/src/apps/moldft/fci

a. The following compile time warning is shown:

fci_hami.F:33.39:

      call fci_hamil2(hamil,work(ih),g,work(io),nonemx,
                                       1
Warning: Type mismatch in argument 'ionel' at (1); passed REAL(8) to INTEGER(4)

b. In the GNUmakefile:

Please do not use -malign-double or -mno-align-double: The option changes the ABI and will only work if one compiles also all libraries with that option (libgfortran, libc, ...). If one does not, the chances are extremely high that one gets strange segfaults with a differently compiled libgfortran. Cf. http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html

Using "-march=native" is a much more useful option: It optimizes the binary for the system being compiled. [Or the option -flto, which adds inter-file optimization (requires GCC 4.5 or newer).]

c. There is a "+" missing in doc/matrixelements.tex without the verbatim text extends to far:

--- doc/matrixelements.tex      (revision 2017)
+++ doc/matrixelements.tex      (working copy)
@@ -926,7 +926,7 @@
 (Section \ref{sec:fcireadvectors}).

 The input integrals are stored as
-\verb+h(ij)+=$h_{ij}$ and \verb+g(ij,kl)=$(ij|kl)$, with $i \geq j$,
+\verb+h(ij)+=$h_{ij}$ and \verb+g(ij,kl)+=$(ij|kl)$, with $i \geq j$,
 $k \geq l$, \verb+ij+=$i(i-1)/2$, and \verb+kl+=$k(k-1)/2+l$.  Have a
 look at \verb+fci_load.F+ to see how an ASCII list of integrals are
 read in an inserted into these arrays in the test program.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.