Re: user-defined alignment in gfortran



Timo Schneider wrote:

glen herrmannsfeldt <gah@xxxxxxxxxxxxxxxx> schrieb:

(snip)

Since a COMPLEX*16 variable is operated on, as far as Fortran is
concerned, as two eight byte real values it would seem in that
sense that eight byte alignment would be good enough. (It would
be interesting to have a processor with complex operations.)

Mm, why? If I have a COMPLEX*16 variable placed somwhere with eight byte
alignment, there can be two cases: It is 16 Byte aligned or not, in
that case only the second part of the variable falls together wih a 16
bit boundary.

Maybe I didn't say it quite right.

No hardware that I know of has instruction that operate on
complex data. There is no complex add or complex multiply
instruction. Operations are done on separate real and imaginary
parts using ordinary floating point instructions.

Now, there could be some advantage to not crossing cache
blocks, though it isn't so obvious what one can do about that.

If you ask about I/O, this reminds me of LOCATE mode I/O that
PL/I allows for RECORD (UNFORMATTED) I/O.

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ibm3lr30/12.4.2

Locate mode I/O allows operating on data directly into the I/O
buffer, reducing the number of copies needed.

READ FILE(IN) SET(P); sets pointer P to point to the data read.

LOCATE FILE(OUT) SET(P); writes any previous buffer and
sets pointer P to point to the next output buffer. The
last is written on CLOSE.

-- glen

.



Relevant Pages

  • Re: Startio Question
    ... the machine instruction SIO was named Start I/O. ... To confuse us all even more, IBM devised a macro spelled STARTIO (rhymes ... Interrupt Handler) could also be intercepted by forcing a UCB's Subchannel ID number ...
    (bit.listserv.ibm-main)
  • Re: Revisiting an Old Prejudice: READ INTO/WRITE FROM
    ... then the whole input buffer would have to be transfered to the output ... Memory bufferes were set up in what COBOL calles Working Storage, ... side of the I/O buffers. ... each reference to a field in that record requires that the CPU ...
    (comp.lang.cobol)
  • Re: Questions about buffered streams
    ... Because of hard disk latency, when you do I/O, it will go faster if ... process a file buffered in convenient small logical chunks, ... The buffered classes transparently handle the physical I/O in ... Unless the buffer size for the physical I/O is at least twice as big ...
    (comp.lang.java.programmer)
  • Re: pushing the envelope with sockets
    ... so it would seem 2.0 does indeed buffer UDP. ... Using async I/O ... receiving on the socket they are received, ... Okay, so during *one* run, the cpu spent increases when input-data is ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Buffered socket I/O with sysread-style blocking?
    ... I/O if you don't want it to actually do buffering? ... What I want to do is read and process the data as it comes in, rather than wait for the whole resource to download, or even wait for a whole buffer block. ... HTTP is an odd case in that an HTTP message starts with textual line-oriented data, and then changes to potentially binary data. ...
    (comp.lang.perl.misc)