/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/random.h: 1767 - 1870
--------------------------------------------------------------------------------

1767: 	{ return _M_a; }
1768: 
1769: 	result_type
1770: 	b() const
1771: 	{ return _M_b; }
[...]
1870: 	  return (__aurng() * (__p.b() - __p.a())) + __p.a();
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/stl_construct.h: 119 - 119
--------------------------------------------------------------------------------

119:       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/VectorSoAContainer.h: 231 - 231
--------------------------------------------------------------------------------

231:   inline const AoSElement_t operator[](size_t i) const { return AoSElement_t(myData + i, nGhosts); }
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/ext/new_allocator.h: 111 - 145
--------------------------------------------------------------------------------

111: 	if (__builtin_expect(__n > this->_M_max_size(), false))
112: 	  {
113: 	    // _GLIBCXX_RESOLVE_LIB_DEFECTS
114: 	    // 3190. allocator::allocate sometimes returns too little storage
115: 	    if (__n > (std::size_t(-1) / sizeof(_Tp)))
116: 	      std::__throw_bad_array_new_length();
[...]
127: 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
[...]
145: 	::operator delete(__p
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/QMCWaveFunctions/WaveFunction.h: 97 - 97
--------------------------------------------------------------------------------

97:   int get_ei_TableID() const { return ei_TableID; }
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/basic_string.h: 195 - 239
--------------------------------------------------------------------------------

195:       { return _M_dataplus._M_p; }
[...]
211: 	return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
[...]
230:       { return _M_data() == _M_local_data(); }
[...]
239: 	if (!_M_is_local())
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Particle/ParticleAttrib.h: 34 - 34
--------------------------------------------------------------------------------

34:   explicit inline ParticleAttrib(size_t n = 0) : __my_base(n), InUnit(0) {}
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Utilities/StdRandom.h: 102 - 103
--------------------------------------------------------------------------------

102:     for (int i = 0; i < n; ++i)
103:       d[i] = uniform(myRNG);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Utilities/NewTimer.h: 242 - 249
--------------------------------------------------------------------------------

242:   ScopeGuard(TIMER& t) : timer(t) { timer.start(); }
[...]
249:   ~ScopeGuard() { timer.stop(); }
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/random.tcc: 3360 - 3373
--------------------------------------------------------------------------------

3360: 					  (__b + __log2r - 1UL) / __log2r);
3361:       _RealType __ret;
3362:       _RealType __sum = _RealType(0);
3363:       _RealType __tmp = _RealType(1);
3364:       for (size_t __k = __m; __k != 0; --__k)
3365: 	{
3366: 	  __sum += _RealType(__urng() - __urng.min()) * __tmp;
3367: 	  __tmp *= __r;
3368: 	}
3369:       __ret = __sum / __tmp;
3370:       if (__builtin_expect(__ret >= _RealType(1), 0))
3371: 	{
3372: #if _GLIBCXX_USE_C99_MATH_TR1
3373: 	  __ret = std::nextafter(_RealType(1), _RealType(0));
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/TinyVector.h: 62 - 145
--------------------------------------------------------------------------------

62:       X[d] = T(0);
[...]
144:     for (int i = 0; i < D; ++i)
145:       X[i] = base[i * offset];
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Particle/ParticleSet.h: 277 - 277
--------------------------------------------------------------------------------

277:   inline size_t getTotalNum() const { return TotalNum; }
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Platforms/CPU/SIMD/Mallocator.hpp: 50 - 78
--------------------------------------------------------------------------------

50:     std::size_t asize = n * sizeof(T);
51:     std::size_t amod  = asize % ALIGN;
52:     if (amod != 0)
[...]
61:     pt = aligned_alloc(ALIGN, asize);
[...]
68:     if (pt == nullptr)
69:       throw std::runtime_error("Allocation failed in Mallocator, requested size in bytes = " +
70:                                std::to_string(n * sizeof(T)));
[...]
76:     if (n == 0)
77:       throw std::runtime_error("Mallocator::deallocate does not accept size 0 allocations.");
78:     free(p);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Utilities/RandomGenerator.h: 51 - 60
--------------------------------------------------------------------------------

51:     for (int i = 0; i + 1 < n; i += 2)
52:     {
53:       double temp1 = 1.0 - 0.9999999999 * rng(), temp2 = rng();
54:       a[i]     = sqrt(-2.0 * log(temp1)) * cos(6.283185306 * temp2);
55:       a[i + 1] = sqrt(-2.0 * log(temp1)) * sin(6.283185306 * temp2);
56:     }
57:     if (n % 2 == 1)
58:     {
59:       double temp1 = 1 - 0.9999999999 * rng(), temp2 = rng();
60:       a[n - 1] = sqrt(-2.0 * log(temp1)) * cos(6.283185306 * temp2);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/OhmmsVector.h: 46 - 302
--------------------------------------------------------------------------------

46:   explicit inline Vector(size_t n = 0, Type_t val = Type_t()) : nLocal(n)
47:   {
48:     if (n)
[...]
210:     if (nAllocated)
[...]
229:     return X[i];
[...]
289:   T* X = nullptr;
[...]
300:     X          = mAllocator.allocate(n);
301:     nLocal     = n;
302:     nAllocated = n;
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/stl_vector.h: 98 - 1770
--------------------------------------------------------------------------------

98: 	: _M_start(), _M_finish(), _M_end_of_storage()
[...]
335: 	_M_deallocate(_M_impl._M_start,
[...]
346: 	return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
[...]
353: 	if (__p)
[...]
361: 	this->_M_impl._M_start = this->_M_allocate(__n);
362: 	this->_M_impl._M_finish = this->_M_impl._M_start;
363: 	this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
[...]
919:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
[...]
1046: 	return *(this->_M_impl._M_start + __n);
[...]
1064: 	return *(this->_M_impl._M_start + __n);
[...]
1605: 	this->_M_impl._M_finish =
[...]
1769: 	if (__n > _S_max_size(_Tp_alloc_type(__a)))
1770: 	  __throw_length_error(
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/refwrap.h: 338 - 338
--------------------------------------------------------------------------------

338:       { return *_M_data; }
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/stl_algobase.h: 911 - 1115
--------------------------------------------------------------------------------

911:       for (; __first != __last; ++__first)
912: 	*__first = __value;
[...]
923:       for (; __first != __last; ++__first)
924: 	*__first = __tmp;
[...]
1115:       if (__n <= 0)
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/stl_uninitialized.h: 578 - 602
--------------------------------------------------------------------------------

578: 	      for (; __n > 0; --__n, (void) ++__cur)
[...]
602: 	      ++__first;
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Numerics/PETE/OperatorTags.h: 43 - 63
--------------------------------------------------------------------------------

43:     return (a + b);
[...]
63:     return (a * b);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Drivers/miniqmc.cpp: 411 - 473
--------------------------------------------------------------------------------

411: #pragma omp parallel for reduction(+ : my_accepted)
412:     for (int iw = 0; iw < nmovers; iw++)
413:     {
414:       auto& els          = *mover_list[iw]->els_ptr;
415:       auto& random_th    = mover_list[iw]->rng;
416:       auto& wavefunction = mover_list[iw]->wavefunction;
417:       auto& ecp          = mover_list[iw]->nlpp;
418: 
419:       ParticlePos delta(nels);
420:       ParticlePos rOnSphere(nknots);
421: 
422:       aligned_vector<RealType> ur(nels);
423: 
424:       Timers[Timer_Diffusion].get().start();
425:       for (int l = 0; l < nsubsteps; ++l) // drift-and-diffusion
426:       {
427:         random_th.generate_uniform(ur.data(), nels);
428:         random_th.generate_normal(&delta[0][0], nels3);
429:         for (int iel = 0; iel < nels; ++iel)
430:         {
431:           // Compute gradient at the current position
432:           Timers[Timer_evalGrad].get().start();
433:           PosType grad_now = wavefunction.evalGrad(els, iel);
434:           Timers[Timer_evalGrad].get().stop();
435: 
436:           // Construct trial move
437:           els.makeMove(iel, delta[iel]);
438: 
439:           // Compute gradient at the trial position
440:           Timers[Timer_ratioGrad].get().start();
441:           PosType grad_new;
442:           wavefunction.ratioGrad(els, iel, grad_new);
443:           Timers[Timer_ratioGrad].get().stop();
444: 
445:           // Accept/reject the trial move
446:           if (ur[iel] < accept) // MC
447:           {
448:             // Update position, and update temporary storage
449:             Timers[Timer_Update].get().start();
450:             wavefunction.acceptMove(els, iel);
451:             Timers[Timer_Update].get().stop();
452:             els.acceptMove(iel);
453:             my_accepted++;
454:           }
455:           else
456:           {
457:             els.rejectMove(iel);
458:             wavefunction.restore(iel);
459:           }
460:         } // iel
461:         wavefunction.completeUpdates();
462:       }   // substeps
463: 
464:       els.donePbyP();
465: 
466:       // evaluate Kinetic Energy
467:       wavefunction.evaluateGL(els);
468: 
469:       Timers[Timer_Diffusion].get().stop();
470: 
471:       // Compute NLPP energy using integral over spherical points
472:       {
473:         ecp.randomize(rOnSphere); // pick random sphere
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/unique_ptr.h: 173 - 173
--------------------------------------------------------------------------------

173:       pointer    _M_ptr() const { return std::get<0>(_M_t); }
/usr/lib/gcc/x86_64-redhat-linux/11/../../../../include/c++/11/bits/alloc_traits.h: 261 - 261
--------------------------------------------------------------------------------

261: 	  ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Drivers/NonLocalPP.hpp: 116 - 135
--------------------------------------------------------------------------------

116:     ParticlePos rOnSphere(size());
117:     std::vector<QMCTraits::PosType> virtualPos(size());
118:     std::vector<QMCTraits::ValueType> ratios(size());
119:     randomize(rOnSphere); // pick random sphere
120:     const auto& d_ie = els.getDistTableAB(wf.get_ei_TableID());
121: 
122:     for (int jel = 0; jel < els.getTotalNum(); ++jel)
123:     {
124:       const auto& dist  = d_ie.getDistRow(jel);
125:       const auto& displ = d_ie.getDisplRow(jel);
126:       for (int iat = 0; iat < ions_ref.getTotalNum(); ++iat)
127:       {
128:         //due to < Rmax condition, the actually iteration iat is [0,2] in a real simulation
129:         if (dist[iat] < Rmax)
130:         {
131:           for (int k = 0; k < size(); k++)
132:             virtualPos[k] = dist[iat] * rOnSphere[k] + displ[iat] + els.R[jel];
133:           auto& VP = *VPs[ions_ref.GroupID[iat]];
134:           VP.makeMoves(els, jel, virtualPos, true, iat);
135:           wf.evaluateRatios(VP, ratios);
