m-a-d-n-e-s-s / madness Goto Github PK
View Code? Open in Web Editor NEWMultiresolution Adaptive Numerical Environment for Scientific Simulation
License: GNU General Public License v2.0
Multiresolution Adaptive Numerical Environment for Scientific Simulation
License: GNU General Public License v2.0
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
Google Code issue 16
Reported by @robertjharrison, Sep 1, 2008
Not yet configuring worldam with the right no. of send/recv buffers for best performance.
self explanatory
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;
}
}
}
use 1 less thread
In order to compile all of madness I need to run make twice.
Solution: poll using our task pool counter… currently may need two threads
can only be called by main thread
Google Code issue 24
Reported by throvolos, Jan 11, 2010
What steps will reproduce the problem?
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.
Default should be handling mpi_abort eventually
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.
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
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.
There appears to be some order dependence in the moldft input parser. For example,
dft
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 }; };
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.
Nichols Romero (or one of his minions)
"make install" should install all MADNESS libraries, MolDFT. It should not install any or a select few test executables.
Jeff: I know of no issues but testing is quite limited. I recall the TBB test suite passes except for GUI stuff though. Testing with MADNESS is essential for moving forward here.
config/Makefile.sample contains the following line
LIBLINALGDIR=$(TRUNK)/src/lib/linalg
However,
LIBLINALGDIR=$(TRUNK)/src/lib/tensor
This is an issue in other Makefiles as well.
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',
Is this working? Which tests does it run?
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)
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.
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.
This is supposed to by Alvero, or AVM, or Fray Gory:)
Solution: poll using our task pool counter… currently may need two threads
How to script these? Externally with Python or bash? Correct science answers? Performance tracking and regression?
Autoconfigure/detect and use an old as fallback
We need to setup Travis-CI to test MADNESS build and test suite.
This will be done by requiring the test codes to use the naming convention test_*.cc
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
Nick Romero
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:
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:
There seem to be a lot of pitfalls, so I would like to know your opinion on this.
Florian
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 by
test_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.
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
Google code issue 22
Reported by @robertjharrison, Nov 22, 2009
Apply operator with doleaves=false and we seem to have result computed at level below input ... how?
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.