Itanium support will no longer be removed from GCC and Itanium will
instead continue as a supported architecture (at least for Linux).
https://www.theregister.com/2024/11/01/gcc_15_keep_itanium_support/
There's a call in that article for an open source full-system emulator.
Good luck with that one, especially for one that would run VMS as well. :-)
One question: Why ? :-)
On my side I have always thought the failure of Itanium - they said
Itanic - have been just the bad meeting between the conservatism of
geeks and the inchoate laws of the market. Our hatred of Itanium
contributed to the long life of the very archaic x86 to which the very
wise Intel returned, for its greater good.
On 11/4/2024 1:26 PM, Simon Clubley wrote:
Itanium support will no longer be removed from GCC and Itanium will
instead continue as a supported architecture (at least for Linux).
https://www.theregister.com/2024/11/01/gcc_15_keep_itanium_support/
There's a call in that article for an open source full-system emulator.
Good luck with that one, especially for one that would run VMS as
well. :-)
One question: Why ? :-)
Regarding why, then it seems obvious that there are no
good commercial reason for GCC to support Itanium, but
apparently someone is willing to do the work just for fun.
And in the open source world if someone is willing
to do the work for fun then it (usually) does happen.
And Itanium is rather different from most other
architectures, so from an academic perspective it
may be interesting.
I wish someone would volunteer to create VMS support
in GCC 16 or whatever!
Arne
Le 04/11/2024 à 21:16, Arne Vajhøj a écrit :
I wish someone would volunteer to create VMS supportBecause I created (canadian method) Gnat Ada (on gcc) for VMS Itanium,
in GCC 16 or whatever!
and because we were on gcc 4.7, there is some work ahead, but why not :)
The big issue is the step to gcc 5, where they upgraded to c++ mode. It
is one of the reasons why Adacore didn't continue support of gnat ada on
VMS in 2015.
But obviously a lot of work. And I do not expect it to happen. JustYou are right, a lot of work. But perhaps a lot of fun :)
a thought given that someone wanted to support GCC/Itanium.
About Itanium, who knows? I heard about some specific uses of Itanium.
So perhaps a very little business with Itanium could exist sometime.
On my side I have always thought the failure of Itanium - they said
Itanic - have been just the bad meeting between the conservatism of
geeks and the inchoate laws of the market. Our hatred of Itanium
contributed to the long life of the very archaic x86 to which the very
wise Intel returned, for its greater good.
About Itanium, who knows? I heard about some specific uses of
Itanium. So perhaps a very little business with Itanium could exist
sometime.
On my side I have always thought the failure of Itanium - they said
Itanic - have been just the bad meeting between the conservatism of
geeks and the inchoate laws of the market.
VMS x86-64 has a better C++ compiler than VMS Itanium.
The whole idea of the VLIW system is that the compiler will be able
to optimize the code to gain paralellism of units inside the single processor. This is a very very ingenious idea but nobody has yet
been able to make a compiler that could do it well enough for it to
be a real win.
On 11/7/2024 12:33 PM, gcalliet wrote:
Le 04/11/2024 à 21:16, Arne Vajhøj a écrit :
I wish someone would volunteer to create VMS supportBecause I created (canadian method) Gnat Ada (on gcc) for VMS
in GCC 16 or whatever!
Itanium, and because we were on gcc 4.7, there is some work ahead,
but why not :)
The big issue is the step to gcc 5, where they upgraded to c++
mode. It is one of the reasons why Adacore didn't continue support
of gnat ada on VMS in 2015.
VMS x86-64 has a better C++ compiler than VMS Itanium.
But I have no idea which is best for boot strapping:
g++/Linux -> GXX/VMS
clang/VMS -> GXX/VMS
I assume that if a recent GXX/VMS is working then getting
GFortran and Gnat working would become a lot easier.
But obviously a lot of work. And I do not expect it to happen. Just
a thought given that someone wanted to support GCC/Itanium.
Arne
In article <vpfoc7$2o5$1@panix2.panix.com>, kludge@panix.com (Scott
Dorsey) wrote:
The whole idea of the VLIW system is that the compiler will be able to
optimize the code to gain paralellism of units inside the single
processor. This is a very very ingenious idea but nobody has yet been
able to make a compiler that could do it well enough for it to be a
real win.
Sadly, the job is *impossible*.
The fundamental problem in optimisation for modern computers is the
slowness of main RAM, which isn't currently solvable at a reasonable
cost. We use caches to mitigate it.
Out-of-order execution addresses this problem by tracking the data dependencies on memory and registers in real time and executing
instructions when their data is available....
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 11/7/2024 12:33 PM, gcalliet wrote:
Le 04/11/2024 à 21:16, Arne Vajhøj a écrit :
I wish someone would volunteer to create VMS supportBecause I created (canadian method) Gnat Ada (on gcc) for VMS
in GCC 16 or whatever!
Itanium, and because we were on gcc 4.7, there is some work ahead,
but why not :)
The big issue is the step to gcc 5, where they upgraded to c++
mode. It is one of the reasons why Adacore didn't continue support
of gnat ada on VMS in 2015.
VMS x86-64 has a better C++ compiler than VMS Itanium.
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
VMS x86-64 has a better C++ compiler than VMS Itanium.
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
On 2025-02-23 21:29:00 +0000, John Dallman said:
In article <vpfoc7$2o5$1@panix2.panix.com>, kludge@panix.com (Scott
Dorsey) wrote:
The whole idea of the VLIW system is that the compiler will be able
to optimize the code to gain paralellism of units inside the single
processor. This is a very very ingenious idea but nobody has yet been
able to make a compiler that could do it well enough for it to be a
real win.
Sadly, the job is *impossible*.
The fundamental problem in optimisation for modern computers is the
slowness of main RAM, which isn't currently solvable at a reasonable
cost. We use caches to mitigate it.
Out-of-order execution addresses this problem by tracking the data
dependencies on memory and registers in real time and executing
instructions when their data is available....
The Itanium compiler optimizer just doesn't (and can't) know enough
about the system memory state, yes. Among other (no pun intended) issues.
The attempt to address that included providing run-time feedback into
the executables; providing post-link, post-execution tuning. (Caliper /
Atom / OM / etc.)
https://www.cs.tufts.edu/comp/150PAT/tools/caliper/wiess-rev-4.pdf
This Alpha versus IA-64 Itanium paper from 1999 describes the issues
with Itanium quite well too, for those interested:
https://web.archive.org/web/20010611202933/http://www.compaq.com/hpc/ ref/ref_alpha_ia64.doc
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 11/7/2024 12:33 PM, gcalliet wrote:
Le 04/11/2024 à 21:16, Arne Vajhøj a écrit :
I wish someone would volunteer to create VMS supportBecause I created (canadian method) Gnat Ada (on gcc) for VMS
in GCC 16 or whatever!
Itanium, and because we were on gcc 4.7, there is some work ahead,
but why not :)
The big issue is the step to gcc 5, where they upgraded to c++
mode. It is one of the reasons why Adacore didn't continue support
of gnat ada on VMS in 2015.
VMS x86-64 has a better C++ compiler than VMS Itanium.
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
On 2025-02-24, Michael S <already5chosen@yahoo.com> wrote:
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
VMS x86-64 has a better C++ compiler than VMS Itanium.
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Given all the various bits of movement in multiple areas over the last
year or so, it might be time for those same tests to be run again against current compiler versions.
On 2/24/2025 12:42 PM, Michael S wrote:
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 11/7/2024 12:33 PM, gcalliet wrote:
Le 04/11/2024 à 21:16, Arne Vajhøj a écrit :
I wish someone would volunteer to create VMS supportBecause I created (canadian method) Gnat Ada (on gcc) for VMS
in GCC 16 or whatever!
Itanium, and because we were on gcc 4.7, there is some work ahead,
but why not :)
The big issue is the step to gcc 5, where they upgraded to c++
mode. It is one of the reasons why Adacore didn't continue support
of gnat ada on VMS in 2015.
VMS x86-64 has a better C++ compiler than VMS Itanium.
That comment was about C++ standard compliance not performance.
C++ VMS x86-64 is clang which in the (older) clang version used
should mean C++14 while C++ VMS Itanium is very very old (like
C++ 98 old).
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
I believe the conclusion was that the VMS x86-64 compilers except C++
was slower than C/C++ on other OS and C++ on VMS.
My guess is that it is a combination of the GEM to LLVM translation
and a desire from VSI to be a little conservative (prioritizing
correctness over speed).
Arne
The Itanium compiler optimizer just doesn't (and can't) know enough
about the system memory state, yes. Among other (no pun intended)
issues.
The attempt to address that included providing run-time feedback
into the executables; providing post-link, post-execution tuning.
(Caliper / Atom / OM / etc.)
On Mon, 24 Feb 2025 15:08:57 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 2/24/2025 12:42 PM, Michael S wrote:
C++ VMS x86-64 is clang which in the (older) clang version used
should mean C++14 while C++ VMS Itanium is very very old (like
C++ 98 old).
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
I believe the conclusion was that the VMS x86-64 compilers except C++
was slower than C/C++ on other OS and C++ on VMS.
Somehow I got an impression that C++ compilers were also significantly
slower than C++ compilers on other platforms.
Do I misremember?
In article <vpi9sr$19atf$1@dont-email.me>, seaohveh@hoffmanlabs.invalid (Stephen Hoffman) wrote:Actually, the NonStop Itanium kernel is built using PGO. Apparently,
The Itanium compiler optimizer just doesn't (and can't) know enough
about the system memory state, yes. Among other (no pun intended)
issues.
The attempt to address that included providing run-time feedback
into the executables; providing post-link, post-execution tuning.
(Caliper / Atom / OM / etc.)
"Attempt" is about right.
I did several years porting work to Itanium. I tried run-time feedback
zero times: doing the link of the instrumented build took over an hour,
up from about a minute, because it was doing all the code generation at
link time.
The claim was "you only do this for the build you'll ship." My response
was "The compiler is so immature that I'm reporting new bugs every week,
and you want me to give the compiler new and difficult challenges?"
I never heard of anyone who got anywhere with profile-guided optimisation
on Itanium. Have you?
John
On 2/24/2025 4:22 PM, Michael S wrote:
On Mon, 24 Feb 2025 15:08:57 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 2/24/2025 12:42 PM, Michael S wrote:
C++ VMS x86-64 is clang which in the (older) clang version used
should mean C++14 while C++ VMS Itanium is very very old (like
C++ 98 old).
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
I believe the conclusion was that the VMS x86-64 compilers except C++
was slower than C/C++ on other OS and C++ on VMS.
Somehow I got an impression that C++ compilers were also significantly
slower than C++ compilers on other platforms.
Do I misremember?
I don't even remember that I posted non-VMS numbers here. Age! :-)
But I just checked VMS C++ latest (CXX/OPT=LEVEL:5 and clang -O3) vs a
random Windows GCC 14.1 (g++ -O3):
VMS is a little faster for integer
they are about the same for floating point
Windows is a lot faster for string
And given that this is a micro-benchmark with in reality just an inner
loop evaluating a single expression, which means huge uncertainty, then
I don't see this as proof of a significant difference.
Arne
I never heard of anyone who got anywhere with profile-guided
optimisation on Itanium. Have you?
Actually, the NonStop Itanium kernel is built using PGO.
Apparently, for their test workload of transactions, the savings
was a measurable "few" percent. [I think in the 3-5% range but I'm
not sure anymore]
On 2/24/2025 4:43 PM, Arne Vajhøj wrote:
On 2/24/2025 4:22 PM, Michael S wrote:We are aware of the string/char performance issues.
On Mon, 24 Feb 2025 15:08:57 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
On 2/24/2025 12:42 PM, Michael S wrote:
C++ VMS x86-64 is clang which in the (older) clang version used
should mean C++14 while C++ VMS Itanium is very very old (like
C++ 98 old).
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Do you want to say that VMS Itanium compilers are worse?
I believe the conclusion was that the VMS x86-64 compilers except C++
was slower than C/C++ on other OS and C++ on VMS.
Somehow I got an impression that C++ compilers were also significantly
slower than C++ compilers on other platforms.
Do I misremember?
I don't even remember that I posted non-VMS numbers here. Age! :-)
But I just checked VMS C++ latest (CXX/OPT=LEVEL:5 and clang -O3) vs a
random Windows GCC 14.1 (g++ -O3):
VMS is a little faster for integer
they are about the same for floating point
Windows is a lot faster for string
And given that this is a micro-benchmark with in reality just an inner
loop evaluating a single expression, which means huge uncertainty, then
I don't see this as proof of a significant difference.
Arne
On Alpha and Itanium, the lowlevel routines inside of LIBOTS for things
like OTS$MOVE, string compare, memmove, etc. are all written in
hand-crafted assembly. For x86, we are still using a set of BLISS
reference code that is simple. Plus the LIBOTS we all have on our
systems was compiled with a non-optimizing BLISS cross-compiler.
We are currently playing with native compiled LIBOTS code and doing some >benchmarks. Besides the brain-dead BLISS code, we have versions that
loop with larger chunks of data which are even faster. The fastest
we've seen so far is a native assembly version that uses the REP
instruction prefix on the MOVSB. That version didn't check for
overlapping source/dest however so any real version gets a little
slower. I'm not sure when we can incorporate these, but I'm trying to
push them as soon as possible.
A fun reference to read is
https://cdrdv2-public.intel.com/814198/248966-Optimization-Reference-Manual-V1-050.pdf
On 2/24/2025 1:57 PM, Simon Clubley wrote:
On 2025-02-24, Michael S <already5chosen@yahoo.com> wrote:
On Thu, 7 Nov 2024 16:48:49 -0500
Arne Vajhøj <arne@vajhoej.dk> wrote:
VMS x86-64 has a better C++ compiler than VMS Itanium.
According to the benchmarks that you posted here several months (a
year?) ago, VMS x86-64 compilers are quite awful comparatively to
x86-64 compilers available on Windows/Linux/BSD.
Given all the various bits of movement in multiple areas over the last
year or so, it might be time for those same tests to be run again against
current compiler versions.
I have updated the VMS numbers with new compiler versions.
The traditional languages are still behind C++.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 437 |
Nodes: | 16 (2 / 14) |
Uptime: | 193:25:56 |
Calls: | 9,135 |
Calls today: | 2 |
Files: | 13,432 |
Messages: | 6,035,346 |