-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
604 lines (309 loc) · 12.3 KB
/
ChangeLog
File metadata and controls
604 lines (309 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
21 Sep 18:
- Fixed problems with MathLink compile for recent Mathematica versions
on Cygwin.
25 Sep 15:
- Fixed bug in Suave.tm (oversight of 'nmin' argument).
7 May 15:
- Fixed sign error in Cuhre's Rule.c (copy-&-paste error from
higher-precision weights in degree-9 rule).
31 Mar 15:
- Version 4.2: Added flag for resetting the state even if a state
file is available in Vegas (Bit 5 of 'flags'). Together with
Bit 4 (retain state file) the grid adapted for one integrand
can be re-used on another integrand.
- Added --with-real=10 and --with-real=16 configuration options
for higher-precision versions of Cuba.
26 Nov 14:
- Divonne now applies Flatten to the Given list, hence either
a list of coordinates (as before) or a list of points can be
given.
- Tweaked MathLink code for compatibility with older Mathematica
versions.
25 Nov 14:
- Version 4.1: Added 'ninsuf' argument to Suave.
When computing the integral value of a subregion, samples from a
former pass contribute only of their number is larger than ninsuf.
Increasing ninsuf may reduce jumps in the chi^2 value.
25 Nov 14:
- Fixed subtle bug in Cuhre which could lead to longer run times
than in versions 1 and 2.
- Fixed miscounting of degrees of freedom in rare cases in Suave.
9 Oct 14:
- Divonne now passes the userdata argument to the peakfinder
function, too.
27 Aug 14:
- Fixed problem due to which CUBACORESMAX was effectively ignored.
- Fixed issues with MathLink compile for Mathematica 10.
15 Aug 14:
- Version 4.0: distinguishes Accelerators (GPUs) and Cores.
New distribution strategy (see manual), e.g. can now prescribe
maximum number of points per core, necessary for accelerators,
allows for load-levelling on cores.
- No. of cores/accelerators and max. points per core/accel
can be set with environment variables
CUBACORES (as before) and CUBACORESMAX (or API call cubacores),
CUBAACCEL and CUBAACCELMAX (or API call cubaaccel).
API calls generally supersede the environment.
- Can choose minimum verbosity level via environment variable
CUBAVERBOSE = 0..3 (or API call cubaverbose).
- Can start cores/accels explicitly via cubafork/cubawait calls,
or have the integrator keep them running at exit.
18 Apr 14:
- Fixed uninitialized variable in update of Apr 11 that could lead
to a potential segfault in Divonne.
11 Apr 14:
- Added invocation of worker init/exit functions also for the master
whenever the number of samples is too small to be distributed.
21 Mar 14:
- Fixed glitch in Sobol quasi-random numbers for the long long int
versions introduced in the last update (forgotten typecast).
18 Mar 14:
- Fixed infinite loop in Sobol quasi-random numbers for maxeval
values >~ 2^30 (32-bit versions) or 2^62 (64-bit 'll' versions).
22 Jan 14:
- Removed 'Chop' from the Mathematica sampling procedure, which would
introduce an absolute lower scale for integrals quite close to zero.
8 Jan 14:
- Restricted detection of Qt to version 4.
18 Dec 13:
- Minor fixes in the MacOS build of partview (thanks to Hong Xu).
11 Dec 13:
- Version 3.3: Added new argument 'nvec' to let the integrand
function have more than one point at a time, e.g. to take advantage
of vectorization.
5 Nov 13:
- Fixed MathLink compilation issues with MacOS 10.9/clang++.
- Fixed spurious warning in partview.
25 Sep 13:
- Fixed issue with distribution of points to cores. Because of
rounding up the number of points for each core it could happen
that the last one got nothing and kept waiting indefinitely.
- Fixed bug in shared memory allocation of Divonne.
- Added Korobov tables for Divonne extending the integration
dimension up to 257.
17 Sep 13:
- More compliance: Repaired some compiler hiccups.
7 Aug 13:
- Version 3.2: Moved all variable-size arrays to alloca and
cleaned up other bits that would lead to compiler warnings
on select systems.
- Cuba now compiles with clang and icc (and even C89 compilers).
- Fixed bug in chi-square determination in Cuhre introduced in 3.1.
- Fixed bug in Ranlux for luxury level > 24.
6 Jun 13:
- Fixed segfault in repeated invocation of Divonne.
4 May 13:
- Version 3.1: Added check-pointing (state file) for Suave,
Divonne, Cuhre, too. Implementation by B. Chokoufe.
- The Suave, Divonne, and Cuhre API calls have changed w.r.t.
Version 3.0 ('statefile' argument added).
- Improved handling of infinities by Divonne.
28 Mar 13:
- Fixed segfault in parallel Divonne for integration rules
(key = 7, 9, 11, 13).
25 Mar 13:
- Fixed segfault in parallel Divonne for non-Korobov random numbers.
9 Jan 13:
- Fixed bug for parallel Divonne, the 'children' fd_set was not
properly initialized.
21 Dec 12:
- Fixed bug for parallel Divonne and ncomp > 1.
(Workers transmitted only partial results and thus the master
waited indefinitely for data.)
27 Nov 12:
- Fixed bug when running Divonne with ngiven != 0 and CUBACORES > 1.
6 Sep 12:
- Added functions for (de)initialization of worker processes
(e.g. close file descriptors before exit).
3 Jul 12:
- Added fflush(NULL) before fork to avoid multiple write-out
of buffered content at child's exit(0).
17 Apr 12:
- Added 'keep state file' flag (bit 5) to not remove the state
file in Vegas even if the integration terminated normally.
19 Mar 12:
- Fixed two bugs in MathLink interfacing, obvious oversight from
last release.
16 Feb 12:
- Added shared memory communication for the processes running
in parallel.
24 Nov 11:
- Significantly rearranged Divonne, e.g. unrolled the recursion
on regions, for better parallelizability.
- Improved parallelization through DoSample.
- Automatic detection and usage of the free cores on a machine,
or else set CUBACORES to the number of cores one wishes to
utilize, with negative numbers meaning "up to" depending on
availability (e.g. -2 means "use up to two free cores").
12 Aug 11:
- Version 3.0: Added parallelization, currently 'only' through
the DoSample routine. Uses fork/wait so integrands do not have
to be reentrant.
Specify number of cores in environment variable CUBACORES.
C/C++/Fortran only, Mathematica users need to replace MapSample
by ParallelMap or similar (as before).
18 Jun 11:
- Fixed problem with inner integration bounds depending on outer
ones in the MathLink executables.
15 Feb 11:
- Moved partview to Qt 4.
- Rectified error reporting via longjmp, in particular avoiding
sending $Failed twice in MathLink which would upset the
following communications.
13 Sep 10:
- Added iteration number to integrand's optional parameters
(Vegas and Suave).
- Fixed initialization problem when using state file in Vegas.
- Added tests for MathLink to configure.
20 Jul 10:
- Fixed severe bug in divonne/Split.c (wrong sign in SignedDelta
macro).
14 Jul 10:
- Disabled optimization for gcc 4.2.x and 4.4.3, which would lead
to an Internal Compiler Error when compiling Cuba, see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40237
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42956
21 Jun 10:
- Fixed problem with bashy syntax in tools/mcc.
8 Jun 10:
- All Cuba functions now reentrant, except for gridptr_ and griddim_
in Vegas, which are intentionally preserved across calls.
19 May 10:
- Version 2.0: Changed invocations.
- Added void *userdata to be passed to integrator.
- Promoted integrand to int function, has to return 0 if successful,
otherwise integrator terminates immediately.
- Moved all global variables (common blocks) to argument list.
12 Feb 10:
- Added Ranlux pseudo-random number generator.
Luxury level 0 (mis)used for Mersenne Twister branch
(but observe that Luxury level 24 = Luxury level 0).
- Changed external variable mersenneseed to
struct { unsigned int level, seed; } cubarandom;
22 Jul 09:
- Fixed potential segfault in Split.c of Divonne, thanks to
Andreas v. Manteuffel.
29 May 09:
- Added flushing of grids in Vegas through a negative grid number.
25 May 09:
- Removed explicit pointer reference from reallocatable
"region_" array.
8 May 09:
- Improved memory handling in Divonne.
8 Apr 09:
- Version 1.6: Improved memory handling in Cuhre.
Thanks to Valery Yundin for pointing out the problem.
6 Mar 09:
- Fixed segfault in Divonne if all samples from a region returned NaN.
- Reinstated fcc to fix static linkage problem with mcc 7.
10 Feb 09:
- Removed dependence on fcc script.
19 Jan 09:
- Added missing #include <stdlib.h> to partview.cpp.
15 Jan 09:
- Fixed problem with MathLink compilation for Mathematica 7.
5 Dec 08
- Version 1.5: Added possibility to set Mersenne Twister
random seed.
- Introduced function MapSample to map the integrand over
the points, whose default value Map can be replaced e.g.
by ParallelMap.
15 Feb 08
- Added further check to Suave for sharp-edged functions.
15 Jan 08
- Fixed bug in makefile.in w.r.t. DESTDIR.
2 Jan 08
- Fixed minor bug in invocation of IniRandom in Suave.
19 Dec 07
- Version 1.4: Added new flag (bit 4), to turn off smoothing of
the importance function for sharp-edged functions.
- Improved configure for Cygwin. Now compiles MathLink
executables `out of the box'.
30 Nov 07
- Fixed detection of variable-size arrays in configure.ac.
- Minor fixes for autoconf 2.60.
30 Aug 07
- Added passing of weight information to the integrand routine
in Vegas and Suave. Mathematica versions use $Weight.
7 Mar 07
- Documented the ll versions in the manual.
1 Mar 06
- Version 1.3: added long long int versions, i.e. all
number-of-points-like quantities are now long long int
instead of int. The corresponding names are prefixed with
"ll", e.g. llVegas.
5 Jan 06
- Corrected a number of declarations so that changing the "number"
typedef in stddecl.h to a longer integer should work now.
Note that this bugfix has NO EFFECT if the "number" typedef
was not changed by hand!
31 Aug 05
- A small patch considerably reduces the "mysterious" problem
in Vegas and Suave that further iterations on a more or less
optimal grid would often degrade the grid.
2 Jun 05
- Added some #ifdefs to make the compile completely silent.
- Changed HUGE_VAL to DBL_MAX to avoid problems with icc.
7 Mar 05
- Extended Divonne's Korobov tables.
- partview now sorts the list of rectangles so that the smallest
ones come on top.
2 Mar 05
- Fixed "mysterious" problem where Divonne would report a
larger-than-requested error even though enough samples were
available.
17 Feb 05
- Rewrote partview.cpp with tabbed window.
- Moved sources to src/{vegas,suave,divonne,cuhre}.
The original names would get into the way of the Mathematica
executables on OSX's case-insensitive file system.
15 Feb 05
- configure now disables compilation of demo-fortran if no
Fortran compiler is found.
9 Feb 05
- Added some explicit typecasts and other tidbits such that
Cuba compiles successfully also with a C++ compiler now.
7 Feb 05
- Added erf implementation in case some "C99 compliant" compiler
like M$ Visual C++ in fact has no erf.
4 Feb 05
- Added partview.m for Mathematica.
3 Feb 05
- Added proper autoconf configure.
- Added cuba.F, a Fortran chooser which makes the invocation
of the Cuba routines still simpler from Fortran.
- Straightened out the contexts of the MathLink executables.
2 Feb 05
- Substituted preprocessor variable NBATCH by run-time configurable
global variable vegasbatch_.
- Added checks on ncomp.
1 Feb 05
- Added a partition viewer which displays the tesselation of the
integration region on screen. Needs Qt.
27 Jan 05
- Added a preprocessor flag NO_LONG_DOUBLE to disable the use
of long doubles on systems that don't have it.
25 Jan 05
- Rearranged Vegas to sample in batches of NBATCH points to
reduce memory consumption.
21 Jan 05
- Fixed bug in Divonne: Final result was wrong if not enough
samples left for Phase 3.
19 Jan 05
- Updated manual re pseudo-random sampling.
17 Jan 05
- Introduced "number" typedef, might be useful when using wide ints.
Not well tested, though.
- Substituted [sd]rand48 by Mersenne Twister generator.
14 Jan 05
- Added pseudo-rng (bit 3 in flags).
- Collected common declarations in stddecl.h.
- Better checking of dimension (e.g. in Divonne, all cases).
12 Jan 05
- Updated manual re vegas{grid,state}.
23 Dec 04
- Fixed a memory leak in Cuhre.
18 Nov 04
- Added vegasstate load/restore of internal state.
16 Jul 04
- Added vegasgrid.