From: Colin Paul Gloster on
On Wed, 10 Feb 2010, Darek Maksimiuk sent:

|------------------------------------------------------------------|
|"[..] |
| |
|[..] |
|I am willing to dedicate some of my free time to try to port Ada|
|compiler to this platform. |
|[..] |
| |
|[..] |
| |
|P.S. Imagine an Ada program running on this device: |
|https://www.xmos.com/products/development-kits/xmp-64" |
|------------------------------------------------------------------|

Dear Darek Maksimiuk,

Well, if you show me the C++ program which I showed in
news:alpine.LNX.2.00.1002151055530.17315(a)Bluewhite64.example.net
running on your XMOS development kit at a speed which when scaled up
for an XMP-64 would be faster than an Intel quadcore machine, then I
would be able to get an Ada compiler for it, if I could convince a
funding agency to pay for an XMP-64.

Please let me know what happens.

Yours sincerely,
Colin Paul Gloster,
Grupo de Instrumentação Atómica e Nuclear,
Departamento de Física,
Universidade de Coimbra,
Rua Larga,
3004-516 Coimbra,
Portugal.
Telephone: +351 239 410663
Fax: +351 239 829158
From: KarlNyberg on
On Feb 15, 8:10 am, Colin Paul Gloster <Colin_Paul_Glos...(a)ACM.org>
wrote:
> On Wed, 10 Feb 2010, Darek Maksimiuk sent:
>
> |------------------------------------------------------------------|
> |"[..]                                                             |
> |                                                                  |
> |[..]                                                              |
> |I am willing to dedicate some of my free time to   try to port Ada|
> |compiler to this platform.                                        |
> |[..]                                                              |
> |                                                                  |
> |[..]                                                              |
> |                                                                  |
> |P.S. Imagine an Ada program running on this device:               |
> |https://www.xmos.com/products/development-kits/xmp-64"            |
> |------------------------------------------------------------------|
>
> Dear Darek Maksimiuk,
>
> Well, if you show me the C++ program which I showed innews:alpine.LNX.2.00.1002151055530.17315(a)Bluewhite64.example.net
> running on your XMOS development kit at a speed which when scaled up
> for an XMP-64 would be faster than an Intel quadcore machine, then I
> would be able to get an Ada compiler for it, if I could convince a
> funding agency to pay for an XMP-64.
>
> Please let me know what happens.
>
> Yours sincerely,
> Colin Paul Gloster,
> Grupo de Instrumentação Atómica e Nuclear,
> Departamento de Física,
> Universidade de Coimbra,
> Rua Larga,
> 3004-516 Coimbra,
> Portugal.
> Telephone: +351 239 410663
> Fax: +351 239 829158

That link didn't resolve to anything interesting for me. Can you
forward me what you might have - it might be interesting to try it on
my 8-core x 4 thread SunFire T1000.

-- Karl --
From: Colin Paul Gloster on
[Note I use a news server which forbids attachments so the attachments
mentioned below were emailed to Karl Nyberg.]


On Mon, 15 Feb 2010, Karl Nyberg sent:

|----------------------------------------------------------------------|
|"On Feb 15, 8:10 am, Colin Paul Gloster <Colin_Paul_Glos...(a)ACM.org> |
|wrote: |
|> On Wed, 10 Feb 2010, Darek Maksimiuk sent: |
|> |
|> |------------------------------------------------------------------||
|> |"[..] ||
|> | ||
|> |[..] ||
|> |I am willing to dedicate some of my free time to try to port Ada||
|> |compiler to this platform. ||
|> |[..] ||
|> | ||
|> |[..] ||
|> | ||
|> |P.S. Imagine an Ada program running on this device: ||
|> |https://www.xmos.com/products/development-kits/xmp-64" ||
|> |------------------------------------------------------------------||
|> |
|> Dear Darek Maksimiuk, |
|> |
|> Well, if you show me the C++ program which I showed in
news:alpine.LNX.2.00.1002151055530.17315(a)Bluewhite64.example.net
|> running on your XMOS development kit at a speed which when scaled up|
|> for an XMP-64 would be faster than an Intel quadcore machine, then I|
|> would be able to get an Ada compiler for it, if I could convince a |
|> funding agency to pay for an XMP-64. |
|> |
|> Please let me know what happens. |
|> |
|> Yours sincerely, |
|> Colin Paul Gloster, |
|> Grupo de Instrumentação Atómica e Nuclear, |
|> Departamento de Física, |
|> Universidade de Coimbra, |
|> Rua Larga, |
|> 3004-516 Coimbra, |
|> Portugal. |
|> Telephone: +351 239 410663 |
|> Fax: +351 239 829158 |
| |
|That link didn't resolve to anything interesting for me. Can you |
|forward me what you might have - it might be interesting to try it on |
|my 8-core x 4 thread SunFire T1000. |
| |
|-- Karl --" |
|----------------------------------------------------------------------|


Dear Mr. Nyberg,

Please find attached in Logarithmic_Work_In_Ada.adb and
logarithmic_work_in_CPlusPlus.cc and body_in_CPlusPlus.cc the
timing programs which I presented in another thread on
news:comp.lang.ada in the post
news:alpine.LNX.2.00.1002151055530.17315(a)Bluewhite64.example.net

They represent just a few per cent at most of real simulations which I
work on such as in the attached files
Cosima_activation_for_gamma_source__Step1.source and
Gamma-Ray_Imager_includable_Cosima_commands_for_Steps_1_and_3.source
and
Gamma-Ray_Imager_includable_Cosima_commands_for_three_steps.source
and geometry.geo.setup which are input files for MEGAlib (which can
be downloaded from
WWW.MPE.MPG.De/MEGA/megalib.html#downloads
and which also needs you to download Geant and CLHEP (as explained in
the MEGAlib installation manual)). Those *source and *setup files can
be used (after you have installed MEGAlib) by copying them into a
directory with about 800 megabytes free space and running
date ; time cosima -s 1234 Cosima_activation_for_gamma_source__Step1.source >> Step1_with_seed_1234.stdout.txt 2>> Step1_with_seed_1234.stderr.txt ; date

Note that the installation scripts supplied with MEGAlib and Geant and
CLHEP do not use compiler optimization flags (not even when you use
the scripts' options supposedly for optimization) so set these
yourself or cosima would take more than twenty times longer to run
if you compile with GCC.

So, for compiling CLHEP, set the environment variable CXXFLAGS to a
suitable value, for example in the case of GCC with BASH:
export CXXFLAGS='-findirect-inlining -ftree-switch-conversion -O3 -ffast-math'

If compiling on GNU/Linux with GCC then modifying the file
geant4.9.2.b01/config/sys/Linux-g++.gmk
to contain
#Gloster wants optimization...
CXXFLAGS += -O3 -findirect-inlining -ftree-switch-conversion -ffast-math
#Gloster wants symbolic debugging...
CXXFLAGS += -g
would be a good idea. For Sun Studio on Solaris, it might be
worthwhile checking whether
geant4.9.2.b01/config/sys/SUN-CC.gmk
lacks optimization flags.

Similarly for MEGAlib, create the file
MEGAlib/config/Makefile.user
and in the case of GCC put something like
#Gloster wants optimization...
OPT += -O3 -findirect-inlining -ftree-switch-conversion -ffast-math
#Gloster wants symbolic debugging...
OPT += -g


These libraries are not published in Ada, but I have made significant
improvements in Ada which are not yet published. I would be interested
in making a considerable amount of this work available to you in the
near future. In the meantime I would be interested in timings which
you could give me for Logarithmic_Work_In_Ada.adb and
logarithmic_work_in_CPlusPlus.cc and
Cosima_activation_for_gamma_source__Step1.source . I would be happy
to collaborate with you on a paper.

I have been tasked with considering whether it is worthwhile making a
proposal to use a supercluster (
WWW.LCA.UC.Pt/welcome-to-milipeias-portal?set_language=en
). Perhaps your hardware could be used instead or also.

Yours sincerely,
Colin Paul Gloster

P.S. Thank you for the annotated copy of the Ada83 standard which you
gave me many years ago. Unfortunately it and other Ada hardcopy
documents were damaged in a flood last month, but I have left it in
sunlight and the worst of the damage seems to have cleared up
quickly.