Article View: comp.sys.transputer
Article #2274Re: Increasing Transputer Efficiency
From: Phil Winder
Date: Sun, 06 Nov 1988 18:55
Date: Sun, 06 Nov 1988 18:55
49 lines
2384 bytes
2384 bytes
Referring to C.P. Winder, ``Parallel Processing with the DisPuter'', in
Developments using occam, Ed. Jon Kerridge, IOS (1988), a paper presented
at the 8th oUG meeting at Sheffield this March, <paszkows@prlhp1> notes that
instruction throughput may be increased by up to 40% by suppressing run-time
range checking. He asks:
> My question is how do you do this? ( For information the software is written
> using Inmos' TDS system ).
The essentials of the program used to obtain these figures are given below:
--1
a[i] := b[c[i]] -- contrived example. []INT a, b, c: INT i:
a[i] := b[c[i]]
--2
a[i] := b[i] + c[i] -- slightly less contrived example
a[i] := b[i] + c[i]
Using a T414B-20 on-chip memory with the TDS2-beta release software gave:
checking on: 69; 77
checking off: 45; 53
cycles. Smaller speed increases will follow from typical code. It is not
advisable to disable all the error-checking except for highly trusted
sections of code, but other efficiency measures I describe may be more
acceptable. For example, did you know that assignment of a constant to a local
variable in on-chip RAM can take 9 cycles? (2.2 MIPS for T414-20)
To answer the question, a simple compiler switch can disable run-time checking
on all versions of PC-based TDS that I've seen.
In response to <paszkows@prlhp1>'s follow-up article: beware RETYPEing ! The
compiler will allow you to RETYPE at will but it only works if the word
boundaries are aligned correctly. So,
[5]BYTE byte :
INT int RETYPES [byte FROM 1 FOR 4] :
looks OK but doesn't work.
-Phil.
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Phil Winder cpw@uk.ac.oxford.prg
Programming Research Group
Oxford University Computer Laboratory
8-11 Keble Road
Oxford. OX1 3QD
United Kingdom.
Technical Details
Message-ID:
<8811061855.AA13132@uk.ac.oxford.prg.client14>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!ucbvax!prg.oxford.ac.uk!cpwReferences:
<671@prlhp1.prl.philips.co.uk> <675@prlhp1.prl.philips.co.uk>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!ucbvax!prg.oxford.ac.uk!cpw From: cpw@prg.oxford.ac.uk (Phil Winder) Newsgroups: comp.sys.transputer Subject: Re: Increasing Transputer Efficiency Keywords: efficiency Message-ID: <8811061855.AA13132@uk.ac.oxford.prg.client14> Date: 6 Nov 88 18:55:51 GMT References: <671@prlhp1.prl.philips.co.uk> <675@prlhp1.prl.philips.co.uk> Sender: daemon@ucbvax.BERKELEY.EDU Organization: Oxford University Computing Laboratory, Oxford, UK Lines: 49