ROSS@bio-medical-physics.aberdeen.ac.uk (09/12/89)
QUOTE from Inmos technical Note 24, Exploring multiple transputer arrays, page 18 section 4 : " The memory requirement of programs is determined by the compiler as the number of words needed. However, running a program on a 16-bit transputer may require more words of storage than if the same program was run on a 32-bit transputer. For example, [4]BYTE array requires 1 word of storage on a T4, but 2 words on a T2. Since, as is noted in (1) above, the program must be compiled for a 32-bit transputer, the allocation of storage must be forced to be suitable for 16-bit transputers by declaring arrays as follows: [ArraySize][2]BYTE dummyArray: [ArraySize]BYTE array IS dummyArray[0]: The same applies for boolean and INT16 arrays. " I can see that storage requirements are different on different word size machines but I don't understand the example shown in the quote. What is actually happening and why does this work ? They say the same applies to boolean and INT16 arrays but don't mention INT32, why not ? Also what about non vector storage, surely you need to take special care with those as well? Can anyone elighten me on this matter as I am developing an application which must explore and run on a mixed network of T2's and T4's (with no external memory) and am not sure exactly how to continue. yours, Philip Ross