Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Dan Greiner
My bad!  The current edition is SA22-7832-12. 
I had the latest z15 model on my mind, hence the -15 typo.


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Ngan, Robert
SA22-7832-15???
The latest version I have is SA22-7832-12, and I've been looking for 
SA22-7832-13 since the z15 T02 was GA'd last month with 30 new instructions.
Has anyone seen the POPS for the z15 T02?

Robert Ngan
HCL Technologies (USA)

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Dan Greiner
Sent: Friday, June 5, 2020 13:57
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Although it does actually access multiple data items, PERFORM LOCK OPERATION 
(PLO) really doesn't qualify as a SIMD instruction (see my PLO screed below).

Seymour's reference to the Wikipedia page 
(https://clicktime.symantec.com/3NjuMxE6MEZBEJLxW7KRK1C7Vc?u=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSIMD)
 is about as adequate a definition as any I've seen. As I recall, IBM's 
original implementation of vector instructions appeared as an optional 
extension to ESA/390, but these were never part of the standard architecture 
defined in the PoO.

With the advent of the z13 (2015), IBM added vector instructions to the general 
architecture, and added Chapters 21-24 to the PoO. There are 32 vector 
registers, each having 128 bits ... but the 64 bits of VRs 0-15 are the same as 
floating-point register 0-15. This is not to say that VRs are necessarily 
floating-point entities; they can be binary integers, strings, or floating 
point.

With the introduction of the z14 (2017), IBM added (a) new instructions that 
enhanced the existing VR facility, and (b) a vector packed-decimal facility 
(the latter being a benefit to COBOL and other packed players). With the 
introduction of the z15 (2019), IBM added a second enhancement to the VR 
facility. There are now around 190 separate vector instructions — with a 
mind-boggling array of extended mnemonics. If you haven't bothered to download 
a PoO in the last few years, it's worth it (but if you choose to print it, have 
two reams of paper handy). Check out SA22-7832-15 for the latest version.

Regarding PLO, this provides the means by which multiple, discontiguous storage 
locations can appear to be updated atomically without having to bother 
acquiring a lock. However, in order for PLO to operate properly, EVERY program 
that inspects or modifies those storage locations also has to do it with PLO. 
This is because the firmware for PLO gets its own lock in HSA, and serializes 
other CPUs attempts to use PLO with that lock. If other programs on other CPUs 
examine the data, the updates do not necessarily appear to be atomic. And, if 
some programs use PLO and others try to perform updates with classic 
compare-and-swap logic, really BAD things happen (as certain z/OS developers 
have discovered more than once). If nobody was actually using PLO, I would have 
quietly proposed removing it from the architecture, but (alas) there are some 
OS components that have actually managed to use it properly.

For a far more flexible (and higher performance) means of atomic updates of 
multiple storage locations, check out the transactional-execution facility 
introduced in the z12 (2012).

DXC Technology Company - Headquarters: 1775 Tysons Boulevard, Tysons, Virginia 
22102, USA.
DXC Technology Company -- This message is transmitted to you by or on behalf of 
DXC Technology Company or one of its affiliates.  It is intended exclusively 
for the addressee.  The substance of this message, along with any attachments, 
may contain proprietary, confidential or privileged information or information 
that is otherwise legally exempt from disclosure. Any unauthorized review, use, 
disclosure or distribution is prohibited. If you are not the intended recipient 
of this message, you are not authorized to read, print, retain, copy or 
disseminate any part of this message. If you have received this message in 
error, please destroy and delete all copies and notify the sender by return 
e-mail. Regardless of content, this e-mail shall not operate to bind DXC 
Technology Company or any of its affiliates to any order or other contract 
unless pursuant to explicit written agreement or government initiative 
expressly permitting the use of e-mail for such purpose.


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Seymour J Metz
Only if the symbols that you are using are the conventional 0123456789ABCDEf; 
what if you're using, e.g.,  U+2080 through U=2089 and U+1D400 through U+1D405. 
(superscript digits, Mathematical letters)?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Martin Ward [mar...@gkc.org.uk]
Sent: Monday, June 8, 2020 3:52 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

On 07/06/2020 21:57, Seymour J Metz wrote:
> I will admit that the UNPK/TR technique won;t work so well with
> Unicode, but then neither will TROT.

For the sixteen hex characters, Unicode UTF-8 encoding
is the same as ASCII :-)

--
Martin

Dr Martin Ward | Email: mar...@gkc.org.uk | 
http://secure-web.cisco.com/1xXjNV7QcCHEFHAXuPn93_e1NnXhxzFNO_O8VoTYqrt8PO-y5e0JmcByEtLPDDpGUWli1PxcZ4GiXX9qXhMWnNQGXtdP8KgzA5lVyzxE1QZIO5sHPrlnTQcgwRkLH0TXbVwSzkG7nqckhcvj_AXpP5sgcZ_qR_0UL9NP-O1tG3RmCKsRa9ddyn8xymxq37z--T9o4IkaxGK5gKR_r3g9ILPffW7B99MVVHi6xfszyonMqprl66qZkfhsoll9Cd98k6GnMHkFf3czejiL2BpBIoBO7ma4I_s0q5eJHemXMtnq7L2CJaQADcm5sfWeGvWclAezzWC70RgN8eDdD7mFKS8FyGCywDcCYM7-UUbdFvVnzEWUF6RBPyxRAZHKOSsYQElRcFPfwzit6ltKiv5acdJWo3Gx9hoW0RvbqlHH3xTQFZg-XP_QGW0ITu32ZORkUw9IIXp-iuSDYzPeLOhasUg/http%3A%2F%2Fwww.gkc.org.uk
G.K.Chesterton site: 
http://secure-web.cisco.com/1wn17M34rxn966VY6N2Q7gSDgRAnzTpRfZ7nKFpEHh3rgQputgYF0ODlPgMQZ7eCZbPviWtGtjUax73gARavS9butgNDHeAygNolt9lrUirzp7E3GgkFG_9lmi7faPviNzBDk8etFLHpYj3maJwh0T9aPmlhRaK-Jh8efq-bXEdBr_IJUSLx38a3PfRiRgyJTPgtoeEfTTK2JTYEIDZbgf4Ehtf81brJD0i-diFPYwpmYIz8n0CVbTKzwOwUTSNKtKgSXCt9plGmW_oYQpf0Krl0ExYPgEzXR3QTB2LaUeT_LnqXGBLmB4tT4-NEHcnu2H14L8q1FY3TJyCBPb47wbOnjc7BfgvNcPMU1Yqvi64PNouHYrZkZ9HSFBvdxMIeF17dXoxq_Ywj9eBpp7RY2m1cL6bQ02xJ9yFOlWmwaG7xyiYoKP5kPTqm8520fxobnJNcwxMIlM9aYQ15IQcfcUw/http%3A%2F%2Fwww.gkc.org.uk%2Fgkc
 | Erdos number: 4


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Martin Ward

On 07/06/2020 21:57, Seymour J Metz wrote:

I will admit that the UNPK/TR technique won;t work so well with
Unicode, but then neither will TROT.


For the sixteen hex characters, Unicode UTF-8 encoding
is the same as ASCII :-)

--
Martin

Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Seymour J Metz
Yes, of course. They say that the mind is the second thing to go - I can't 
remember the first. Thanks.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Martin Truebner [mar...@pi-sysprog.de]
Sent: Monday, June 8, 2020 8:22 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

>> F1F2F3F3 to 0001 0010 0011 0100

you ment

F1F2F3F3 to 00010010 00110100

or?

--
Martin Trübner; everything around "PoOps of z/arch"

Teichstraße 39E
D-63225 Langen

F: +49 6103 71254
M: +49 171 850 7132
E: mar...@pi-sysprog.de


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Martin Truebner
>> F1F2F3F3 to 0001 0010 0011 0100

you ment

F1F2F3F3 to 00010010 00110100

or?

-- 
Martin Trübner; everything around "PoOps of z/arch"

Teichstraße 39E 
D-63225 Langen  

F: +49 6103 71254  
M: +49 171 850 7132
E: mar...@pi-sysprog.de 


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Seymour J Metz
> Nope -- display to hex, i.e. c'1234' to x'1234'

That's a representation in assembler notation of a 4 byte field and a two byte 
field, with the value on the left being hexadecimal and the value on the right 
being the equivalent binary value: F1F2F3F3 to 0001 0010 0011 
0100


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Pieter Wiid [pw...@mweb.co.za]
Sent: Monday, June 8, 2020 7:44 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Nope -- display to hex, i.e. c'1234' to x'1234'

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 08 June 2020 12:41
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I might believe hex to binary, with the 16 symbols in an 8 bit encoding.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Monday, June 8, 2020 2:33 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I did create a macro to build the table -- and one for TRTO, to convert
display to hex.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 23:05
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Well, any set of 16 symbols encoded in 8 bits; it doesn't work so well with,
e.g., Unicode. My intent for PoOps was to illustrate that UNPK is not just a
decimal instruction.

As for TROT, it would depend on whether the degree of use justified the
larger translate table. If I went that way I would be tempted to write a
macro to generate a table, although it isn't that hard with a decent editor,
e.g., ISPF, SECIT.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Sunday, June 7, 2020 1:39 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an 

Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Pieter Wiid
Nope -- display to hex, i.e. c'1234' to x'1234'

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 08 June 2020 12:41
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I might believe hex to binary, with the 16 symbols in an 8 bit encoding.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Monday, June 8, 2020 2:33 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I did create a macro to build the table -- and one for TRTO, to convert
display to hex.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 23:05
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Well, any set of 16 symbols encoded in 8 bits; it doesn't work so well with,
e.g., Unicode. My intent for PoOps was to illustrate that UNPK is not just a
decimal instruction.

As for TROT, it would depend on whether the degree of use justified the
larger translate table. If I went that way I would be tempted to write a
macro to generate a table, although it isn't that hard with a decent editor,
e.g., ISPF, SECIT.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Sunday, June 7, 2020 1:39 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an authorized
representative of the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by e-mail
and delete the message and any attachments from your system.


--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Seymour J Metz
I might believe hex to binary, with the 16 symbols in an 8 bit encoding.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Pieter Wiid [pw...@mweb.co.za]
Sent: Monday, June 8, 2020 2:33 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

I did create a macro to build the table -- and one for TRTO, to convert
display to hex.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 23:05
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Well, any set of 16 symbols encoded in 8 bits; it doesn't work so well with,
e.g., Unicode. My intent for PoOps was to illustrate that UNPK is not just a
decimal instruction.

As for TROT, it would depend on whether the degree of use justified the
larger translate table. If I went that way I would be tempted to write a
macro to generate a table, although it isn't that hard with a decent editor,
e.g., ISPF, SECIT.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Sunday, June 7, 2020 1:39 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an authorized
representative of the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by e-mail
and delete the message and any attachments from your system.


--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Re: Does the z architecture have something like the SIMD instructions

2020-06-08 Thread Pieter Wiid
I did create a macro to build the table -- and one for TRTO, to convert
display to hex.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 23:05
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Well, any set of 16 symbols encoded in 8 bits; it doesn't work so well with,
e.g., Unicode. My intent for PoOps was to illustrate that UNPK is not just a
decimal instruction.

As for TROT, it would depend on whether the degree of use justified the
larger translate table. If I went that way I would be tempted to write a
macro to generate a table, although it isn't that hard with a decent editor,
e.g., ISPF, SECIT.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Pieter Wiid [pw...@mweb.co.za]
Sent: Sunday, June 7, 2020 1:39 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an authorized
representative of the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by e-mail
and delete the message and any attachments from your system.


--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Farley, Peter x23353
Thanks Ed.  Already received.

It sure would be helpful to have someone with the tutorial and writing skills 
of John Ehrman to put together an extended explanation that covered all the 
varieties of vector facilities we now have.  The less we know the farther 
behind we get from the HLL compiler writers using their intimate knowledge of 
the new facilities and how to use them *effectively*.

I'm not afraid of HLL's (I make my living using them) but as assembler coders 
we ought to know how to do the same work with the same effectiveness.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Ed Jaffe
Sent: Sunday, June 7, 2020 6:24 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

On 6/7/2020 9:23 AM, Farley, Peter x23353 wrote:
> Is there any chance you could provide (maybe eventually in a SHARE session 
> presentation?) a set of good examples of using the vector instructions as you 
> say you do?

Peter,

There was a thread called "Count Words" into which at one time I posted some 
pseudo code and/or an example of our generalized string find code that went 
into the field with (E)JES in Sep 2016.

I endured wise cracks, imagined 16-byte limitations, and erroneous claims to 
the effect: we were using the wrong instructions, performance no longer 
matters, such coding is best left to compilers, etc.

Rather than deal with any more of that "static," I've decided to directly email 
you a copy of Slide 21 from my March 2017 SHARE San Jose session entitled, 
"z13s User Experiences" (which won a best session award BTW) in which I touted 
the new Vector Facility as being a "game changer" for our platform and provided 
sample code anyone can use to replaces SRST with a loop of vector instructions.

Thanks...

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Seymour J Metz
I thought that I was cynical, but I would not have predicted it.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Kerry Liles [kerry.li...@gmail.com]
Sent: Sunday, June 7, 2020 9:57 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Ed, I too would be interested in your presentation from March 2017 SHARE ...

I can only imagine the barrage of knee-jerk responses you likely
encountered.
Sad but unfortunately predictable.

regards,

Kerry Liles


On Sun, 7 Jun 2020 at 18:23, Ed Jaffe  wrote:

> On 6/7/2020 9:23 AM, Farley, Peter x23353 wrote:
> > Is there any chance you could provide (maybe eventually in a SHARE
> session presentation?) a set of good examples of using the vector
> instructions as you say you do?
>
> Peter,
>
> There was a thread called "Count Words" into which at one time I posted
> some pseudo code and/or an example of our generalized string find code
> that went into the field with (E)JES in Sep 2016.
>
> I endured wise cracks, imagined 16-byte limitations, and erroneous
> claims to the effect: we were using the wrong instructions, performance
> no longer matters, such coding is best left to compilers, etc.
>
> Rather than deal with any more of that "static," I've decided to
> directly email you a copy of Slide 21 from my March 2017 SHARE San Jose
> session entitled, "z13s User Experiences" (which won a best session
> award BTW) in which I touted the new Vector Facility as being a "game
> changer" for our platform and provided sample code anyone can use to
> replaces SRST with a loop of vector instructions.
>
> Thanks...
>
> --
> Phoenix Software International
> Edward E. Jaffe
> 831 Parkview Drive North
> El Segundo, CA 90245
> https://secure-web.cisco.com/1NHljwdIbMHXIaBdyDWCAwFHvBswn2N8TE-tMXDX6qMM_iRCQgrx7LjjckSfsxacJhM_JxM4evtTAjUeOFYzQPe7Xcn4b0vuwI6EgTZbJa3HGxL4kzY_jyvqcEvfbUZRRwl8qPAhQ7xVjgFDCQf4nx3n8RyvC8JEOY-2BazrQH6akCTVXbhzyQ_J8evtapPyGPp3P4nEyPK_IbhJN_v4KB437fpx-ToLHBnWxxNZ8xIeKjrzn3aIprRcGbESiBM5lV03_poFfo1KZnhecmUyCxgRM3e4Of-STVCecm_WUKdvSFRxGu8Su7XXwqG2jZaTvsuzNF1p4PvadRi-DKw63Sp0XgE68mvj8nuzbUw2SP2T7p-bOQfGQbp2d9FpGO5jRCkSqYgUNs-ubfVflc34ULOz81kGSCgpiNovI9tFAMlZoTIvrns17SCcWmj-xJA83/https%3A%2F%2Fwww.phoenixsoftware.com%2F
>
>
>
> 
> This e-mail message, including any attachments, appended messages and the
> information contained therein, is for the sole use of the intended
> recipient(s). If you are not an intended recipient or have otherwise
> received this email message in error, any use, dissemination, distribution,
> review, storage or copying of this e-mail message and the information
> contained therein is strictly prohibited. If you are not an intended
> recipient, please contact the sender by reply e-mail and destroy all copies
> of this email message and do not otherwise utilize or retain this email
> message or any or all of the information contained therein. Although this
> email message and any attachments or appended messages are believed to be
> free of any virus or other defect that might affect any computer system
> into
> which it is received and opened, it is the responsibility of the recipient
> to ensure that it is virus free and no responsibility is accepted by the
> sender for any loss or damage arising in any way from its opening or use.
>


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Kerry Liles
Ed, I too would be interested in your presentation from March 2017 SHARE ...

I can only imagine the barrage of knee-jerk responses you likely
encountered.
Sad but unfortunately predictable.

regards,

Kerry Liles


On Sun, 7 Jun 2020 at 18:23, Ed Jaffe  wrote:

> On 6/7/2020 9:23 AM, Farley, Peter x23353 wrote:
> > Is there any chance you could provide (maybe eventually in a SHARE
> session presentation?) a set of good examples of using the vector
> instructions as you say you do?
>
> Peter,
>
> There was a thread called "Count Words" into which at one time I posted
> some pseudo code and/or an example of our generalized string find code
> that went into the field with (E)JES in Sep 2016.
>
> I endured wise cracks, imagined 16-byte limitations, and erroneous
> claims to the effect: we were using the wrong instructions, performance
> no longer matters, such coding is best left to compilers, etc.
>
> Rather than deal with any more of that "static," I've decided to
> directly email you a copy of Slide 21 from my March 2017 SHARE San Jose
> session entitled, "z13s User Experiences" (which won a best session
> award BTW) in which I touted the new Vector Facility as being a "game
> changer" for our platform and provided sample code anyone can use to
> replaces SRST with a loop of vector instructions.
>
> Thanks...
>
> --
> Phoenix Software International
> Edward E. Jaffe
> 831 Parkview Drive North
> El Segundo, CA 90245
> https://www.phoenixsoftware.com/
>
>
>
> 
> This e-mail message, including any attachments, appended messages and the
> information contained therein, is for the sole use of the intended
> recipient(s). If you are not an intended recipient or have otherwise
> received this email message in error, any use, dissemination, distribution,
> review, storage or copying of this e-mail message and the information
> contained therein is strictly prohibited. If you are not an intended
> recipient, please contact the sender by reply e-mail and destroy all copies
> of this email message and do not otherwise utilize or retain this email
> message or any or all of the information contained therein. Although this
> email message and any attachments or appended messages are believed to be
> free of any virus or other defect that might affect any computer system
> into
> which it is received and opened, it is the responsibility of the recipient
> to ensure that it is virus free and no responsibility is accepted by the
> sender for any loss or damage arising in any way from its opening or use.
>


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Ed Jaffe

On 6/7/2020 9:23 AM, Farley, Peter x23353 wrote:

Is there any chance you could provide (maybe eventually in a SHARE session 
presentation?) a set of good examples of using the vector instructions as you 
say you do?


Peter,

There was a thread called "Count Words" into which at one time I posted 
some pseudo code and/or an example of our generalized string find code 
that went into the field with (E)JES in Sep 2016.


I endured wise cracks, imagined 16-byte limitations, and erroneous 
claims to the effect: we were using the wrong instructions, performance 
no longer matters, such coding is best left to compilers, etc.


Rather than deal with any more of that "static," I've decided to 
directly email you a copy of Slide 21 from my March 2017 SHARE San Jose 
session entitled, "z13s User Experiences" (which won a best session 
award BTW) in which I touted the new Vector Facility as being a "game 
changer" for our platform and provided sample code anyone can use to 
replaces SRST with a loop of vector instructions.


Thanks...

--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Seymour J Metz
Well, any set of 16 symbols encoded in 8 bits; it doesn't work so well with, 
e.g., Unicode. My intent for PoOps was to illustrate that UNPK is not just a 
decimal instruction.

As for TROT, it would depend on whether the degree of use justified the larger 
translate table. If I went that way I would be tempted to write a macro to 
generate a table, although it isn't that hard with a decent editor, e.g., ISPF, 
SECIT.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Pieter Wiid [pw...@mweb.co.za]
Sent: Sunday, June 7, 2020 1:39 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction.

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an authorized
representative of the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by e-mail
and delete the message and any attachments from your system.


--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Seymour J Metz
Of course you can. There are no bit patterns in hexadecimal, only sixteen 
symbols. Nor do the symbols need to be EBCDIC; they could as well be ASCII. I 
will admit that the UNPK/TR technique won;t work so well with Unicode, but then 
neither will TROT. 

UNPK/TR is convenient when you only need to translate a few numbers, since it 
uses a much smaller translate table. The table sizes are probably not large 
enough for cache hits to be an issue. IAK, I want the UNPK/TRT example in order 
to emphasize that UNPK is not limited to decimal data.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Steve Smith [sasd...@gmail.com]
Sent: Sunday, June 7, 2020 1:40 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

 Something that I'd like to see inPoOps is an example of using UNPK
and TR to convert binary to hexadecimal.

You can't "convert" binary to hexadecimal, their bit patterns are the
same.  If you're referring to displaying bytes' hexadecimal representation
in EBCDIC, then I'd say it's a bit late for that.

Thanks to a tip from Rob Scott on this list several years ago, I like using
TROT, especially when writing out a considerable amount of storage, like a
dump.  The TROT table starts thus:

DC C'000102030405060708090A0B0C0D0E0F'
... and continues for the obvious 15 more lines.


sas


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Steve Smith
 Something that I'd like to see inPoOps is an example of using UNPK
and TR to convert binary to hexadecimal.

You can't "convert" binary to hexadecimal, their bit patterns are the
same.  If you're referring to displaying bytes' hexadecimal representation
in EBCDIC, then I'd say it's a bit late for that.

Thanks to a tip from Rob Scott on this list several years ago, I like using
TROT, especially when writing out a considerable amount of storage, like a
dump.  The TROT table starts thus:

DC C'000102030405060708090A0B0C0D0E0F'
... and continues for the obvious 15 more lines.


sas


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Pieter Wiid
Do you mean conversion to printable hex, e.g. convert x'1234' to
x'f1f2f3f4'? These days, I use the TROT instruction. 

-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Seymour J Metz
Sent: 07 June 2020 19:21
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

I thought that the descriptions of the vector instructions were a much
easier read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
behalf of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session
presentation?) a set of good examples of using the vector instructions as
you say you do?

Or am I late to the party and there have already been such SHARE sessions
that I missed?

If I have one particular beef with the PoOPS writing team it is that there
are significant sets of instructions with no usage examples, z13+ vector
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On
Behalf Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD
instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the
addressee and may contain information that is privileged and confidential.
If the reader of the message is not the intended recipient or an authorized
representative of the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please notify us immediately by e-mail
and delete the message and any attachments from your system.


-- 
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Seymour J Metz
I thought that the descriptions of the vector instructions were a much easier 
read than the, e.g., sort, transaction, instructions.

Something that I'd like to see inPoOps is an example of using UNPK and TR to 
convert binary to hexadecimal.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Farley, Peter x23353 [peter.far...@broadridge.com]
Sent: Sunday, June 7, 2020 12:23 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Ed,

Is there any chance you could provide (maybe eventually in a SHARE session 
presentation?) a set of good examples of using the vector instructions as you 
say you do?

Or am I late to the party and there have already been such SHARE sessions that 
I missed?

If I have one particular beef with the PoOPS writing team it is that there are 
significant sets of instructions with no usage examples, z13+ vector 
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is 
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Farley, Peter x23353
Ed,

Is there any chance you could provide (maybe eventually in a SHARE session 
presentation?) a set of good examples of using the vector instructions as you 
say you do?

Or am I late to the party and there have already been such SHARE sessions that 
I missed?

If I have one particular beef with the PoOPS writing team it is that there are 
significant sets of instructions with no usage examples, z13+ vector 
instructions being only just the latest.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Ed Jaffe
Sent: Sunday, June 7, 2020 10:48 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

On 6/7/2020 7:11 AM, Peter Relson wrote:
> That limitation is not the case for z/Architecture vector operations.
> 
>
> I erred in writing that. Shmuel was of course correct. The "vector 
> register" is 128 bits (one quadword).
> The extent of the "vectorization" depends on the size of the operands.


We use SIMD *heavily* for character-based operations and the speed is 
incredible!

Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Ed Jaffe

On 6/7/2020 7:11 AM, Peter Relson wrote:

That limitation is not the case for z/Architecture vector operations.


I erred in writing that. Shmuel was of course correct. The "vector
register" is 128 bits (one quadword).
The extent of the "vectorization" depends on the size of the operands.



We use SIMD *heavily* for character-based operations and the speed is 
incredible!


Doing 16 operations at once sure is preferable to doing just one! ijs... ;-)


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Does the z architecture have something like the SIMD instructions

2020-06-07 Thread Peter Relson

>>IBM has "Vector" instructions, but the size of a vector is limited to 
one 
>>quadword.

>That limitation is not the case for z/Architecture vector operations.


I erred in writing that. Shmuel was of course correct. The "vector 
register" is 128 bits (one quadword).
The extent of the "vectorization" depends on the size of the operands.

Peter Relson
z/OS Core Technology Design


Re: Does the z architecture have something like the SIMD instructions

2020-06-06 Thread Mike Hochee
Excellent Ze'ev!  Thank you for sharing.


From: IBM Mainframe Assembler List  on behalf 
of Ze'ev Atlas <01774d97d104-dmarc-requ...@listserv.uga.edu>
Sent: Saturday, June 6, 2020 10:30 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Caution! This message was sent from outside your organization.

Hi allI followed some advice her and yes, IBM has a pretty advanced SIMD 
architecture from z13 onward.  I am not sure about previous attempts, but the 
current architecture seems to be pretty advanced.
BTW IBM claims that with 'arch(12)' COBOL. PL/I, C, Java will use that facility 
at least partially
see https://ibmsystemsmag.com/IBM-Z/01/2018/vector-facility-z14
[http://ibmsystemsmag.com//getattachment/c171a91d-6082-4cf8-89a1-e7a73f367569/arrows_nodes.jpg]<https://ibmsystemsmag.com/IBM-Z/01/2018/vector-facility-z14>

How to Exploit the Vector Packed Decimal Facility in IBM z14 | IBM Systems 
Media<https://ibmsystemsmag.com/IBM-Z/01/2018/vector-facility-z14>
ibmsystemsmag.com
With the IBM announcement of the IBM z14 platform, new features became 
available, including a new instruction set for the decimal numbers using the 
Vector Facility.


Ze'ev Atlas


Re: Does the z architecture have something like the SIMD instructions

2020-06-06 Thread Seymour J Metz
Specifically, the vector instructions allow you to do various operations in 
parallel on data contained in a pair of quadword vector registers. There are 
also VECTOR LOAD MULTIPLE and VECTOR STORE MULTIPLE instuctions


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Ze'ev Atlas [01774d97d104-dmarc-requ...@listserv.uga.edu]
Sent: Saturday, June 6, 2020 10:30 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Hi allI followed some advice her and yes, IBM has a pretty advanced SIMD 
architecture from z13 onward.  I am not sure about previous attempts, but the 
current architecture seems to be pretty advanced.
BTW IBM claims that with 'arch(12)' COBOL. PL/I, C, Java will use that facility 
at least partially
see 
https://secure-web.cisco.com/18_tFg2_bubJGOnaMW7qnEwx4DBh_oCaBAsuhgiTGeA7fYHgo7YbyKOze-qOysUyaLLxZs6Bl8mhHkNSggpmJtS4VY9wa_dkIJr_0F_BE4CAUYKlq1pPTz2LsSXQq0rrs9kH8KSrLADzzQv-RP_WrZ8I6WAjAyVuV3NqiB5YMgWy0yVIi3Aptyg3bnYEafKecYhqYBOkHr5VTIcniQAsX6sow6t6JOiY2eIsNzvmkQvE9mIN3bk1NOZptY9mCW4bQFD2rGWdgioNvc6mrKn-g-7Cfr7D0_rT3lT8vLhfk3bthbXDvOxn1_RlNHWo9UBK82m1lReoaX3zsEjqpDsgcXlLWU1VjnQ3dsCVyx388VHrLLkcaC_NEiEPSOk2uT5M_BJNoXg0X8igqsqOPvVrr6UAP2z2g1mEWORWWGIP1qez-birIt9GLcPUGrfV_E5so/https%3A%2F%2Fibmsystemsmag.com%2FIBM-Z%2F01%2F2018%2Fvector-facility-z14
Ze'ev Atlas


Re: Does the z architecture have something like the SIMD instructions

2020-06-06 Thread Ze'ev Atlas
Hi allI followed some advice her and yes, IBM has a pretty advanced SIMD 
architecture from z13 onward.  I am not sure about previous attempts, but the 
current architecture seems to be pretty advanced.
BTW IBM claims that with 'arch(12)' COBOL. PL/I, C, Java will use that facility 
at least partially
see https://ibmsystemsmag.com/IBM-Z/01/2018/vector-facility-z14
Ze'ev Atlas

  


Re: Does the z architecture have something like the SIMD instructions

2020-06-06 Thread Seymour J Metz
Are you referring to VECTOR LOAD MULTIPLE and VECTOR STORE MULTIPLE? I don't 
know of any other vector instructions that have more than two source quadwords 
and one destination quadword.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Peter Relson [rel...@us.ibm.com]
Sent: Saturday, June 6, 2020 9:06 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions


IBM has "Vector" instructions, but the size of a vector is limited to one
quadword.


That limitation is not the case for z/Architecture vector operations.

To the question of the subject, simply, yes. There are SIMD instructions.
Whether they are "the" SIMD instructions I don't know.

Peter Relson
z/OS Core Technology Design


Re: Does the z architecture have something like the SIMD instructions

2020-06-06 Thread Peter Relson

IBM has "Vector" instructions, but the size of a vector is limited to one 
quadword. 


That limitation is not the case for z/Architecture vector operations.

To the question of the subject, simply, yes. There are SIMD instructions. 
Whether they are "the" SIMD instructions I don't know. 

Peter Relson
z/OS Core Technology Design


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Seymour J Metz
Yes, I know. Please review the history of this thread. Dan brought up the old 
vector facility ("As I recall, IBM's original implementation of vector 
instructions appeared as an optional extension to ESA/390, but these were never 
part of the standard architecture defined in the PoO.") and I was commenting on 
where it was documented.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Ed Jaffe [edja...@phoenixsoftware.com]
Sent: Friday, June 5, 2020 4:15 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

On 6/5/2020 12:15 PM, Seymour J Metz wrote:
> The S/370 PoOps mentions the vector facility and says "Vector operations are 
> described in the publication IBM System/370 Vector Operations, SA22-7125."
>
> You can download it from 
> http://secure-web.cisco.com/1TbjqUyY6y-gmFk5gWObf2XvhcQ9sqyf-J_rrlmoVuMPwoeX2PYGvk-JLNQJOvyqNeg51lhdVMQJhkvPIh2-aa2LLT3lTti7v6ewvxvXa6c9X_9rHXnMcbU6I7pEcHrj_lOB3yNb_y6dVE8JyUppk9wqWZEjiXqx1-o5dEG6XHHA0sAu3MKfYUwUdMPRZ3BQqNb7gqTuV_psWYZ08XbZQM7U4HNrhd25gJx26DnOiUWgKJG0nAP3fz3lSB85Tdbb5dijLOYZ_uE9TrvKGXDuJEDt5wVn30KusdUk7DZ76EZtRpIJi42Ed9WhSZOqW53RS2cj-gCf-yCZJfGeWn5pSfGoeVma7omeKHLdqPbpyo_C6FYI8lvOd4pjTo-BR_w6Io_1KX9cBRY585foNRZSj2_H1MJcCwjtyvD2VUKNRXRJb_BjtepowLqlVjG1YAM0C/http%3A%2F%2Fbitsavers.org%2Fpdf%2Fibm%2F370%2FvectorFacility%2FSA22-7125-3_Vector_Operations_Aug88.pdf

That old vector facility no longer exists on any modern mainframe.

There is a new one that is part of z/Architecture (starting with z13)
and doesn't require extra hardware features.

It is FAST!


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://secure-web.cisco.com/1jyfEz0tPtzjHqrhkb51YyCDBNZZWYvSMVdJxBdsPdPFu9UVotniJKqe6s30gu3N0Pwmeul3ks_w71HF6XjYE23n8ywvrUOttZgdcpH1sbkFJxSbxDo3hJUq3I_uXbzH7TFo7NHO9bFnzQ02xYhMeeAH6kXKgOBHDRZ1O8yELD1SY6IZDN7OZsZDJgAPeLbwSkPbpNDhT2H1VWgDK7Vmkg-p1kqii4GZei5nJ3qY2twewzwiiIwddTJzuL9dmo7GU0aANVdvpZdicgTBQtpPjq_LbMEMCZxWsFznWocrv6XJPcX7aI8cOURB1tF0pEz0FrdDaQmGz9WwC2PfJ6eo39rYL1W1ofwY0Q_FZDADYFjMsSnZi_DzOxa89Bt-VYMzC0UtjuY5_qZVmNX-PqCu_8JlspMGBzdLfnZ47LvVdNfe4R512yxSixJKno4PyyvzH/https%3A%2F%2Fwww.phoenixsoftware.com%2F



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Ed Jaffe

On 6/5/2020 12:15 PM, Seymour J Metz wrote:

The S/370 PoOps mentions the vector facility and says "Vector operations are 
described in the publication IBM System/370 Vector Operations, SA22-7125."

You can download it from 
http://bitsavers.org/pdf/ibm/370/vectorFacility/SA22-7125-3_Vector_Operations_Aug88.pdf


That old vector facility no longer exists on any modern mainframe.

There is a new one that is part of z/Architecture (starting with z13) 
and doesn't require extra hardware features.


It is FAST!


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Seymour J Metz
The S/370 PoOps mentions the vector facility and says "Vector operations are 
described in the publication IBM System/370 Vector Operations, SA22-7125."

You can download it from 
http://bitsavers.org/pdf/ibm/370/vectorFacility/SA22-7125-3_Vector_Operations_Aug88.pdf


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Dan Greiner [dan_grei...@att.net]
Sent: Friday, June 5, 2020 2:56 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Although it does actually access multiple data items, PERFORM LOCK OPERATION 
(PLO) really doesn't qualify as a SIMD instruction (see my PLO screed below).

Seymour's reference to the Wikipedia page 
(https://secure-web.cisco.com/1g9JjH5spQKTKip_YcVCSGxFPyS93bsF0rty3cayA3B2sZ2D4Q_El-WD75GMFVbcIZJHbWIdhnz469e8c96r3NQvd7MnrTdsIQegSzR5roKxSGwI3UJUFgG2cmwu22PBp8FShQeXm8O8D8JfdpCMC5LZvgP2ONFYFDRlByNSKUu-v2XTrrLoMUS10BP1xSiGJb729bBpfKoSFFuWCMkiDCKa1j1urk56bSobXkpIgGPXGpwibHEteCcsvsmN0OnEFlv7bpRAl7PWToJp0CJ88K6BhT-vIQPZp4oiUQqBIiCCRV4S-ztbTed7wno5eXxGUEQ2SO7DQMf6itV_ZR_UMptAT0vQigtdqmIzTpk6cQ0hoJZv4y1bPTmiNvuA7kAXnlMuWJxU0xkyApGW0Qgrz92gzowCKCkNd6HIam5wuiRAFEquej9eyAeTJl87GKprc/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSIMD%29
 is about as adequate a definition as any I've seen. As I recall, IBM's 
original implementation of vector instructions appeared as an optional 
extension to ESA/390, but these were never part of the standard architecture 
defined in the PoO.

With the advent of the z13 (2015), IBM added vector instructions to the general 
architecture, and added Chapters 21-24 to the PoO. There are 32 vector 
registers, each having 128 bits ... but the 64 bits of VRs 0-15 are the same as 
floating-point register 0-15. This is not to say that VRs are necessarily 
floating-point entities; they can be binary integers, strings, or floating 
point.

With the introduction of the z14 (2017), IBM added (a) new instructions that 
enhanced the existing VR facility, and (b) a vector packed-decimal facility 
(the latter being a benefit to COBOL and other packed players). With the 
introduction of the z15 (2019), IBM added a second enhancement to the VR 
facility. There are now around 190 separate vector instructions — with a 
mind-boggling array of extended mnemonics. If you haven't bothered to download 
a PoO in the last few years, it's worth it (but if you choose to print it, have 
two reams of paper handy). Check out SA22-7832-15 for the latest version.

Regarding PLO, this provides the means by which multiple, discontiguous storage 
locations can appear to be updated atomically without having to bother 
acquiring a lock. However, in order for PLO to operate properly, EVERY program 
that inspects or modifies those storage locations also has to do it with PLO. 
This is because the firmware for PLO gets its own lock in HSA, and serializes 
other CPUs attempts to use PLO with that lock. If other programs on other CPUs 
examine the data, the updates do not necessarily appear to be atomic. And, if 
some programs use PLO and others try to perform updates with classic 
compare-and-swap logic, really BAD things happen (as certain z/OS developers 
have discovered more than once). If nobody was actually using PLO, I would have 
quietly proposed removing it from the architecture, but (alas) there are some 
OS components that have actually managed to use it properly.

For a far more flexible (and higher performance) means of atomic updates of 
multiple storage locations, check out the transactional-execution facility 
introduced in the z12 (2012).


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Dan Greiner
Although it does actually access multiple data items, PERFORM LOCK OPERATION 
(PLO) really doesn't qualify as a SIMD instruction (see my PLO screed below). 

Seymour's reference to the Wikipedia page (https://en.wikipedia.org/wiki/SIMD) 
is about as adequate a definition as any I've seen. As I recall, IBM's original 
implementation of vector instructions appeared as an optional extension to 
ESA/390, but these were never part of the standard architecture defined in the 
PoO. 

With the advent of the z13 (2015), IBM added vector instructions to the general 
architecture, and added Chapters 21-24 to the PoO. There are 32 vector 
registers, each having 128 bits ... but the 64 bits of VRs 0-15 are the same as 
floating-point register 0-15. This is not to say that VRs are necessarily 
floating-point entities; they can be binary integers, strings, or floating 
point. 

With the introduction of the z14 (2017), IBM added (a) new instructions that 
enhanced the existing VR facility, and (b) a vector packed-decimal facility 
(the latter being a benefit to COBOL and other packed players). With the 
introduction of the z15 (2019), IBM added a second enhancement to the VR 
facility. There are now around 190 separate vector instructions — with a 
mind-boggling array of extended mnemonics. If you haven't bothered to download 
a PoO in the last few years, it's worth it (but if you choose to print it, have 
two reams of paper handy). Check out SA22-7832-15 for the latest version. 

Regarding PLO, this provides the means by which multiple, discontiguous storage 
locations can appear to be updated atomically without having to bother 
acquiring a lock. However, in order for PLO to operate properly, EVERY program 
that inspects or modifies those storage locations also has to do it with PLO. 
This is because the firmware for PLO gets its own lock in HSA, and serializes 
other CPUs attempts to use PLO with that lock. If other programs on other CPUs 
examine the data, the updates do not necessarily appear to be atomic. And, if 
some programs use PLO and others try to perform updates with classic 
compare-and-swap logic, really BAD things happen (as certain z/OS developers 
have discovered more than once). If nobody was actually using PLO, I would have 
quietly proposed removing it from the architecture, but (alas) there are some 
OS components that have actually managed to use it properly.

For a far more flexible (and higher performance) means of atomic updates of 
multiple storage locations, check out the transactional-execution facility 
introduced in the z12 (2012).


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Seymour J Metz
Well, Wikipedia says "It describes computers with multiple processing elements 
that perform the same operation on multiple data points simultaneously.", which 
is how I recall the term being used, and those don't match.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Binyamin Dissen [bdis...@dissensoftware.com]
Sent: Friday, June 5, 2020 11:20 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Well, PLO is certainly an example.

But the relatively recent Transaction instructions greatly expand this.


On Fri, 5 Jun 2020 04:56:53 + Ze'ev Atlas
<01774d97d104-dmarc-requ...@listserv.uga.edu> wrote:

:>I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
:>Ze'ev Atlas

--
Binyamin Dissen 
http://secure-web.cisco.com/1w-cc8W0sRFs2o5i9Kfpz35p5OQTai31KwEm5O_mFKsjfWh63Gw-QWndxOp91IVUDeVaBW8s4oC0exxBXT9ZvSlqP-cn6jBqyqnfP7PkTz5qjb_Whjrwwc8j7Dj7nDb0iH1vFUcO8-UCNncgss_HwYR5phOO7_YTGLatFfRlxLjD3MVgAv1TbjpdSsRT0KHRIuFzVUyT9RHlIWJebcgIochrKi1tWfhnjZKjP91e8FhlQIhXQiwGgGHNyTUILMBnA_adw4VQqL8PyPXrrG514LqAs-HUPswWWcsxU6g1qg58NtsnUWc4ArzPrAPQUMeY27XvayeZrZs7ECTNPl35mv9O1twob0vkw0CEKAZgkgHV3WG53FO0K1EkEt9YsL_1EgNLpP-T7uJ4ol_jvcC2hC0p_XOw5tg0BGflzKMwJCbonEMpV8CuVH7lQrqNIpJ3S/http%3A%2F%2Fwww.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Binyamin Dissen
Well, PLO is certainly an example. 

But the relatively recent Transaction instructions greatly expand this.


On Fri, 5 Jun 2020 04:56:53 + Ze'ev Atlas
<01774d97d104-dmarc-requ...@listserv.uga.edu> wrote:

:>I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
:>Ze'ev Atlas

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Gary Weinhold

You may find some of the SHARE presentations useful. I used SIMD z os
share as keywords.

On 2020-06-05 7:11 a.m., Seymour J Metz wrote:

IBM has "Vector" instructions, but the size of a vector is limited to one 
quadword. Usefull, but not what you normally think of as SIMD.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone:+1.613.523.5500 x216
Email: weinh...@dkl.com
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any 
attachments is confidential and may be subject to copyright or other 
intellectual property protection. If you are not the intended recipient, you 
are not authorized to use or disclose this information, and we request that you 
notify us by reply mail or telephone and delete the original message from your 
mail system.




From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Ze'ev Atlas [01774d97d104-dmarc-requ...@listserv.uga.edu]
Sent: Friday, June 5, 2020 12:56 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Does the z architecture have something like the SIMD instructions

I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
Ze'ev Atlas


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Seymour J Metz
IBM has "Vector" instructions, but the size of a vector is limited to one 
quadword. Usefull, but not what you normally think of as SIMD.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Ze'ev Atlas [01774d97d104-dmarc-requ...@listserv.uga.edu]
Sent: Friday, June 5, 2020 12:56 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Does the z architecture have something like the SIMD instructions

I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
Ze'ev Atlas


Re: Does the z architecture have something like the SIMD instructions

2020-06-05 Thread Seymour J Metz
Sorta, kinda. IBM calls them Vector instructions, but they're limited to a 
quadword. The term SIMD normally implies a greater degree of parallelism or 
streaming.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Keven [k...@k3n.us]
Sent: Friday, June 5, 2020 1:42 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Does the z architecture have something like the SIMD instructions

Yes, z/Architecture has a number of SIMD instructions that operate on 
distinct data types.  They are called vector instructions in mainframeze and 
accordingly have mnemonics that all begin with V.










On Thu, Jun 4, 2020 at 11:57 PM -0500, "Ze'ev Atlas" 
<01774d97d104-dmarc-requ...@listserv.uga.edu> wrote:










I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
Ze'ev Atlas


Re: Does the z architecture have something like the SIMD instructions

2020-06-04 Thread Keven
  
  
  

Yes, z/Architecture has a number of SIMD instructions that operate on 
distinct data types.  They are called vector instructions in mainframeze and 
accordingly have mnemonics that all begin with V.





  




On Thu, Jun 4, 2020 at 11:57 PM -0500, "Ze'ev Atlas" 
<01774d97d104-dmarc-requ...@listserv.uga.edu> wrote:










I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
Ze'ev Atlas


Does the z architecture have something like the SIMD instructions

2020-06-04 Thread Ze'ev Atlas
I admit being away from the mainframe for long time.  Most of my work is on 
Solaris and Linux servers and therefore I do not code in Assembler.  However, I 
was active in porting a C library into classic z/OS.I was looking to do another 
port and stumbled upon the fact that that library has several SIMD architecture 
specific extensions (Altivec, Neon are two examples).  While I can ignore that 
stuff, I became somewhat interested in the subject.
Ze'ev Atlas