Bakul Shah wrote a particularly elegant Scheme program for Chudnovskys'
algorithm for pi based on the Common Lisp program here:
https://bitbucket.org/tarballs_are_good/numericl/src/5fe8fe7089f48ab1c8a388…
Nick Craig-Wood wrote a Python program using the GMP multiprecision
library that appears to use exactly the same algorithm here:
http://www.craig-wood.com/nick/articles/pi-chudnovsky/
I modified both programs a bit and include them here.
They time the calculation of $10^n$ digits of pi …
[View More]for $n=1,2,3,4,5,6,7$.
The results are
heine:~/programs/gambiteer/gambit> !py
python pi_chudnovsky_bs_gmpy.py
31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
('chudnovsky_gmpy_mpz_bs: digits', 10, 'time', 1.0967254638671875e-05)
('chudnovsky_gmpy_mpz_bs: digits', 100, 'time', 3.0040740966796875e-05)
Last 5 digits 70679 OK
('chudnovsky_gmpy_mpz_bs: digits', 1000, 'time', 0.00025582313537597656)
Last 5 digits 01989 OK
('chudnovsky_gmpy_mpz_bs: digits', 10000, 'time', 0.00386810302734375)
Last 5 digits 75678 OK
('chudnovsky_gmpy_mpz_bs: digits', 100000, 'time', 0.0834801197052002)
Last 5 digits 24646 OK
('chudnovsky_gmpy_mpz_bs: digits', 1000000, 'time', 1.655979871749878)
Last 5 digits 58151 OK
('chudnovsky_gmpy_mpz_bs: digits', 10000000, 'time', 30.67442488670349)
Last 5 digits 55897 OK
heine:~/programs/gambiteer/gambit> gsi chud1.scm
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10, CPU time: 0..
Last 5 digits 26535.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
100, CPU time: 0..
Last 5 digits 70679.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
1000, CPU time: .004.
Last 5 digits 1989.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10000, CPU time: .028.
Last 5 digits 75678.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
100000, CPU time: .472.
Last 5 digits 24646.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
1000000, CPU time: 6.448.
Last 5 digits 58151.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10000000, CPU time: 98.612.
Last 5 digits 55897.
So it appears that for this algorithm applied to large integers, GMP's
bignum routines are about 3-4 times as fast as Gambit's bignum
routines. Not so bad. For smaller bignums, GMP has a bigger advantage.
The C program gmp-chudnovsky.c includes certain optimizations to this
basic algorithm:
http://gmplib.org/pi-with-gmp.htmlftp://ftp.gmplib.org/pub/misc/gmp-chudnovsky.c
On my machine, compiled with
gcc -O3 -march=native -o gmp-chudnovsky gmp-chudnovsky.c -lgmp -lm
the CPU times for 1,000,000 and 10,000,000 digits are 1.064 and 18.200
seconds, respectively.
This is with a somewhat older machine
model name : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
running Ubuntu 13.04 with
heine:~/programs/gambiteer/gambit> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.7.3-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.7 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --with-system-zlib
--enable-objc-gc --with-cloog --enable-cloog-backend=ppl
--disable-cloog-version-check --disable-ppl-version-check
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
heine:~/programs/gambiteer/gambit> gsi -v
v4.6.9 20130607151908 x86_64-unknown-linux-gnu "./configure
'--enable-single-host' '--enable-multiple-versions' '--enable-shared'"
and the Ubuntu-provided GMP 5.0.5. (I'm sure the GMP folks have a
better way to build GMP on my machine than the "generic" 64-bit version
provided by Ubuntu.)
Brad
[View Less]
Hi Marc!
How well does SMP work now?
Using SMP code that not uses any network/file IO (only string/u8vector port
IO) except for in the root processor, may that be a stable usecase this
year?
Thanks!
Adam
ICFP 2018
The 23rd ACM SIGPLAN International Conference on Functional Programming
https://icfp18.sigplan.org
Call for Sponsorships
Web version of this call for sponsorships:
https://icfp18.sigplan.org/attending/supporting-icfp
## Why Sponsor ICFP 2018?
ICFP is the premier conference on functional programming languages, covering all aspects of theory, implementation, and application. Every year, we bring together over 500 world-leading researchers,…
[View More] practitioners, and students to discuss the latest findings, collaborate on new ideas, and meet new people. By sponsoring ICFP, your organization can demonstrate its commitment to supporting high quality research and to developing the next generation of functional programming experts. Most of our sponsorship funds are used to help students from around the world afford to attend the conference and get the most out of their experience. We believe that this commitment will pay dividends for our students, our sponsors, and the public for years to come. If you're interested in becoming a sponsor, we'd love to hear from you: get in touch with our sponsorship team at
sponsorship-2018(a)icfpconference.org
## Sponsorship Opportunities and Benefits
### Bronze - $750
* Your logo on the ICFP 2018 website
* Your name listed in the proceedings
### Silver - $3,000
* All of the benefits of Bronze sponsorship
* One complimentary 3-day ICFP registration
* A table at the industrial reception
* Your logo in the proceedings
* Your logo on publicity materials such as banners and posters
### Gold - $6,000
* All of the benefits of Silver sponsorship
* One additional complimentary 3-day ICFP registration (2 in total)
* A named supporter of the industrial reception
* An opportunity to include branded merchandise in participants' swag bag
### Platinum - $10,000
* All the benefits of Gold sponsorship
* One additional complimentary 3-day ICFP registration (3 in total)
* A named supporter of ICFP 2018
* An opportunity to speak to the audience at the industrial reception
* A table/booth-like space in the coffee break areas
## Additional Sponsorship Opportunities
We offer some additional sponsorship options to sponsors at the silver level or above.
### Lanyard Sponsor - $4,000
You provide the lanyards that every attendee will wear around their neck.
### Video Sponsor - $4,000
ICFP makes videos available for free to non-attendees following the conference. As a video sponsor, you support the recording and release of these videos. In exchange, your logo will be displayed as part of every ICFP video.
### Banner - $1,000
Post a free-standing banner (up to 2m high and 1m wide, provided by you) on the ICFP main stage throughout the conference.
[View Less]
[ Please disregard previous version sent with the wrong subject line. ]
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
ICFP 2018
23rd ACM SIGPLAN International Conference on Functional Programming
September 23-29, 2018
St. Louis, Missouri, United States
http://conf.researchr.org/home/icfp-2018
The 23rd ACM SIGPLAN International Conference on Functional Programming
will be held in St. Louis, Missouri,…
[View More] United States on September 23-29, 2018.
ICFP provides a forum for researchers and developers to hear about the latest
work on the design, implementations, principles, and uses of functional
programming.
Proposals are invited for workshops (and other co-located events, such
as tutorials) to be affiliated with ICFP 2018 and sponsored by
SIGPLAN. These events should be less formal and more focused than ICFP
itself, include sessions that enable interaction among the attendees,
and foster the exchange of new ideas. The preference is for one-day
events, but other schedules can also be considered.
The workshops are scheduled to occur on September 23 (the day
before ICFP) and September 27-29 (the three days after ICFP).
----------------------------------------------------------------------
Submission details
Deadline for submission: November 20, 2017
Notification of acceptance: December 18, 2017
Prospective organizers of workshops or other co-located events are
invited to submit a completed workshop proposal form in plain text
format to the ICFP 2017 workshop co-chairs
(Christophe Scholliers and David Christiansen), via email to
icfp-workshops-2018(a)googlegroups.com
by November 20, 2017. (For proposals of co-located events other than
workshops, please fill in the workshop proposal form and just leave
blank any sections that do not apply.) Please note that this is a firm
deadline.
Organizers will be notified if their event proposal is accepted by
December 18, 2017, and if successful, depending on the event, they
will be asked to produce a final report after the event has taken
place that is suitable for publication in SIGPLAN Notices.
The proposal form is available at:
http://www.icfpconference.org/icfp2018-files/icfp18-workshops-form.txt
Further information about SIGPLAN sponsorship is available at:
http://www.sigplan.org/Resources/Proposals/Sponsored/
----------------------------------------------------------------------
Selection committee
The proposals will be evaluated by a committee comprising the
following members of the ICFP 2018 organizing committee, together with
the members of the SIGPLAN executive committee.
Workshop Co-Chair: Christophe Scholliers (University of Ghent)
Workshop Co-Chair: David Christiansen (Indiana University)
General Chair: Robby Findler (Northwestern University)
Program Chair: Matthew Flatt (University of Utah)
----------------------------------------------------------------------
Further information
Any queries should be addressed to the workshop co-chairs (Christophe
Scholliers and David Christiansen), via email to
icfp-workshops-2018(a)googlegroups.com
[View Less]
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
ICFP 2018
23rd ACM SIGPLAN International Conference on Functional Programming
September 23-29, 2018
St. Louis, Missouri, United States
http://conf.researchr.org/home/icfp-2018
The 23rd ACM SIGPLAN International Conference on Functional Programming
will be held in St. Louis, Missouri, United States on September 23-29, 2018.
ICFP provides a forum for researchers …
[View More]and developers to hear about the latest
work on the design, implementations, principles, and uses of functional
programming.
Proposals are invited for workshops (and other co-located events, such
as tutorials) to be affiliated with ICFP 2018 and sponsored by
SIGPLAN. These events should be less formal and more focused than ICFP
itself, include sessions that enable interaction among the attendees,
and foster the exchange of new ideas. The preference is for one-day
events, but other schedules can also be considered.
The workshops are scheduled to occur on September 23 (the day
before ICFP) and September 27-29 (the three days after ICFP).
----------------------------------------------------------------------
Submission details
Deadline for submission: November 20, 2017
Notification of acceptance: December 18, 2017
Prospective organizers of workshops or other co-located events are
invited to submit a completed workshop proposal form in plain text
format to the ICFP 2017 workshop co-chairs
(Christophe Scholliers and David Christiansen), via email to
icfp-workshops-2018(a)googlegroups.com
by November 20, 2017. (For proposals of co-located events other than
workshops, please fill in the workshop proposal form and just leave
blank any sections that do not apply.) Please note that this is a firm
deadline.
Organizers will be notified if their event proposal is accepted by
December 18, 2017, and if successful, depending on the event, they
will be asked to produce a final report after the event has taken
place that is suitable for publication in SIGPLAN Notices.
The proposal form is available at:
http://www.icfpconference.org/icfp2018-files/icfp18-workshops-form.txt
Further information about SIGPLAN sponsorship is available at:
http://www.sigplan.org/Resources/Proposals/Sponsored/
----------------------------------------------------------------------
Selection committee
The proposals will be evaluated by a committee comprising the
following members of the ICFP 2018 organizing committee, together with
the members of the SIGPLAN executive committee.
Workshop Co-Chair: Christophe Scholliers (University of Ghent)
Workshop Co-Chair: David Christiansen (Indiana University)
General Chair: Robby Findler (Northwestern University)
Program Chair: Matthew Flatt (University of Utah)
----------------------------------------------------------------------
Further information
Any queries should be addressed to the workshop co-chairs (Christophe
Scholliers and David Christiansen), via email to
icfp-workshops-2018(a)googlegroups.com
[View Less]
<Programming> 2018 : The Art, Science, and Engineering of Programming
Mon 9 - Thu 12 April 2018 Nice, France
http://2018.programming-conference.org/
In 2017, we started a new conference and journal focused on everything
to do with programming, including the experience of programming, called
<Programming> for short. The first edition of <Programming> was a great
success (see http://twitter.com/programmingconf for testimonies).
Paper submissions and publications are …
[View More]handled by the affiliated journal
(http://programming-journal.org/). Accepted papers must be presented at
the conference.
********************************************************
CALL FOR PAPERS
********************************************************
<Programming> 2018 accepts papers that advance knowledge of programming.
Almost anything about programming is in scope, but in each case there
should be a clear relevance to the act and experience of programming.
UPCOMING SUBMISSION DEADLINES:
December 1 2017 (Research Papers Third Submission Deadline, for journal
Vol. 2, Issue 3)
We accept submissions covering several areas of expertise. These areas
include, but are not limited to:
• General-purpose programming
• Distributed systems programming
• Parallel and multi-core programming
• Graphics and GPU programming
• Security programming
• User interface programming
• Database programming
• Visual and live programming
• Data mining and machine learning programming
• Interpreters, virtual machines and compilers
• Modularity and separation of concerns
• Model-based development
• Metaprogramming and reflection
• Testing and debugging
• Program verification
• Programming education
• Programming environments
• Social coding
********************************************************
IMPORTANT UPCOMING DATES
********************************************************
Research paper submissions:
December 1 2017 (Research Papers Third Submission Deadline, for journal
Vol. 2, Issue 3)
Research paper first notification (for third submission deadline):
February 1 2018
Research paper revised submission (for third submission deadline): March
1 2018
Research paper final notification (for third submission deadline): March
7 2018
Camera-ready copy (for third submission deadline): March 15 2018
Student Research Competition Abstracts Submission: January 22 2018
All important dates of the journal throughout the year can also be found
at http://programming-journal.org/timeline/
********************************************************
ORGANIZATION
********************************************************
General Chair:
Manuel Serrano, INRIA France
Local Organizing Chair:
Tamara Rezk, INRIA France
Organizing Committee:
Stefan Marr (workshops co-chair), University of Kent, United Kingdom
Jennifer B. Sartor (workshops co-chair), Software Languages Lab, Vrije
Universiteit Brussel Belgium
Philipp Haller (student research competition chair), KTH Royal Institute
of Technology, Sweden
Tobias Pape (web technology), HPI - University of Potsdam
Sylvia Grewe (publicity), Technische Universität Darmstadt Germany
Minh Ngo (volunteers chair), INRIA France
Etienne Lozes (grants committee chair), Université de Nice
Sophia-Antipolis, France
Yves Roudier (poster chair), Université de Nice Sophia-Antipolis, France
Program Committee:
Guido Salvaneschi (program chair), Technische Universität Darmstadt, Germany
Davide Ancona, University of Genova, Italy
Alberto Bacchelli, Delft University of Technology, Netherlands
Shigeru Chiba, University of Tokyo, Japan
Yvonne Coady, University of Victoria, Canada
Susan Eisenbach, Imperial College London, UK
Patrick Eugster, TU Darmstadt, Germany & Purdue University, United States
Antonio Filieri, Imperial College London, UK
Matthew Flatt, University of Utah, United States
Lidia Fuentes, Universidad de Málaga, Spain
Richard P. Gabriel, Dream Songs, Inc. & HPI, California
Jeremy Gibbons, University of Oxford, UK
Yossi Gil, Israel Institute of Technology
Elisa Gonzalez Boix, Vrije Universiteit Brussel, Belgium
Phlipp Haller, KTH Royal Institute of Technology, Sweden
Matthew Hammer, University of Colorado, Boulder, United States
Felienne Hermans, Delft University of Technology, Netherlands
Robert Hirschfeld, Hasso Plattner Institute (HPI), Germany
Roberto Ierusalimschy, Pontifical Catholic University of Rio de Janeiro,
Brazil
Jun Kato, National Institute of Advanced Industrial Science and
Technology, Japan
Jörg Kienzle, McGill University, Canada
Neelakantan R. Krishnaswami, University of Cambridge, UK
Ralf Lämmel, University of Koblenz-Landau, Germany
Hidehiko Masuhara, Tokyo Institute of Technology, Japan
Mira Mezini, Technische Universität Darmstadt, Germany
Emerson Murphy-Hill, North Carolina State University, United States
Mario Südholt, IMT Atlantique, Nantes, France
Sam Tobin-Hochstadt, Indiana University, United States
Eelco Visser, Delft University of Technology, Netherlands
Tijs van der Storm, CWI & University of Groningen, Netherlands
********************************************************
<Programming> 2018 is kindly supported by:
ACM In-Cooperation
SIGPLAN (In-cooperation)
SIGSOFT (In-cooperation)
INRIA France
AOSA
********************************************************
[View Less]
Gambit’s build procedure when cloning from the github repo has been simplified to follow the typical configure+make pattern.
Now the build procedure is:
git clone https://github.com/gambit/gambit.git
cd gambit
./configure
make
On my machine, a Late 2013 MacBook Pro with an SSD and a 2.6 GHz Intel Core i7, I typically build Gambit with:
./configure --enable-single-host CC=gcc-7
make -j8
The ./configure takes 17 secs and the make takes 3 minutes. A “make clean; make -…
[View More]j8” (build from .c files) takes 30 secs and a “make bootstrap; make bootclean; make -j8” (build from .scm files) takes 60 secs.
Marc
[View Less]
hi
On macos sierra running the ./configure script gives me the following
message:
*** The clang compiler is being used. Please be aware that the build
***
*** may take a very long time (over 30 minutes on a fairly fast
***
*** machine with clang 3.0). Configuring with GNU GCC will give a
***
*** faster build (1 min on the same machine with GNU GCC 4.2.1) and
***
*** the executable will be faster.
What can I do to enforce GCC? I cannot see any specific configure
--options
…
[View More]
Attached you'll find the entire configure log.
Thanks,
Ben
[View Less]