🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.transputer
Article #2274

Re: Increasing Transputer Efficiency

#2274
From: Phil Winder
Date: Sun, 06 Nov 1988 18:55
49 lines
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!cpw
References: <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