Shop OBEX P1 Docs P2 Docs Learn Events
Software 4 Prop Cluster? True/False — Parallax Forums

Software 4 Prop Cluster? True/False

HumanoidoHumanoido Posts: 5,770
edited 2010-08-05 06:18 in Propeller 1
True or False?

1) There is no software for multiple props for parallel processing tasks

2) There is no Propeller based parallel programming language

3) Only 1 person built projects with more than 9 props

Comments

  • Clock LoopClock Loop Posts: 2,069
    edited 2010-08-04 07:36
    Humanoido said...
    True or False?

    1) There is no software for multiple props for parallel processing tasks
    So far my program runs on parallel props.
    I am working on something that does parallel communications.
    I have also run the obex object "real random" on my parallel props to give them unique addressing without taking up pins.
    I will be releasing a copy when I get more done.

    2) There is no Propeller based parallel programming language
    Not that i know of.

    3) Only 1 person built projects with more than 9 props
    Most for me is 7, however I have connected 3 black box sequencers, all in sync, each sequencer has 4 props in it. Total of 12 props.
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-08-04 09:05
    Clock Loop:

    The list is updated to include your 12 prop project with three Black Boxes connected together. Do you have a name for it???

    Thanks for your references to the software you're developing for parallel Propeller projects. There will be a repository and a directory to these programs in the future. Keep up the good work!

    Humanoido
  • RossHRossH Posts: 5,520
    edited 2010-08-04 09:16
    Humanoido said...
    2) There is no Propeller based parallel programming language

    True if you discount PASM, SPIN and C.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • LeonLeon Posts: 7,620
    edited 2010-08-04 09:27
    I think he means a parallel processing language for multiple Propellers. XMOS's XC could be used, the source code is available. PASM, SPIN and C are not parallel processing languages, they don't have any constructs like PAR used in XC, and only support code for a single processor.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM

    Post Edited (Leon) : 8/4/2010 9:46:20 AM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-08-04 09:33
    I'm going to guess False, False, True

    by "propeller based" programming language, do you mean a language you can program a propeller with (that can be compiled on a computer) or a programming language that can be written and compiled on a propeller?

    Either way, I'm going to submit MPM as a platform for parallel processing on multiple propellers, as you can have up to 8 programs running at the same time per propeller (a mix of C,Basic, Forth, Fortran or whatever), they can be self compiled on the propeller, and they can interface with each other (albeit only slowly at 9600 baud).

    As for the last one, I think the Humanoido Tower of Doom will stand as a record, possibly a record that will outlast the pyramids.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller

    Post Edited (Dr_Acula) : 8/4/2010 9:50:08 AM GMT
  • mikedivmikediv Posts: 825
    edited 2010-08-04 14:35
    Hi DR_A ... But MPM has to run under emulation of a Z80 or similar chip correct? It has been a dream of mine to wire up a few props and get them to do something in Parallel ,,, example
    having access to all the I/O with Spin commands or whatever so I could treat the 4 props as one big prop while I have built a 4 prop dev board thanks Jazzed, heater, clusso its useless

    I can only use one prop at a time so I have to program each prop chip separately to do something I would love to see a parallel program that would like I said treat your connected props as one big unit it would be so awesome to be able to do something like

    dira (108) : = 1 or ina ( 96 ) : = 1..... just keep adding up all the I/O pins as you add prop chips .. could this ever even be possible??
  • potatoheadpotatohead Posts: 10,261
    edited 2010-08-04 14:38
    Maybe a variation?

    On prop (x) do:
    {code here}

    ??

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    8x8 color 80 Column NTSC Text Object
    Wondering how to set tile colors in the graphics_demo.spin?
    Safety Tip: Life is as good as YOU think it is!
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-08-05 03:26
    potatohead said...
    Maybe a variation?
    On prop (x) do:
    {code here}
    Parallel programmed props can be identified by their ID designation which fits this code structure nicely. Some code I wrote will fill all paralleled processors, load up the ID, and do designated tasks as self deterministic code.

    humanoido
  • LeonLeon Posts: 7,620
    edited 2010-08-05 04:51
    All that stuff was worked out many years ago by Sir Tony Hoare, FRS, with his Communicating Sequential Processes:

    en.wikipedia.org/wiki/C._A._R._Hoare

    XC uses his concepts, here is a typical program:

    # include <platform .h>
    
    on stdcore [noparse][[/noparse]0] : out port tx = XS1_PORT_1A;
    on stdcore [noparse][[/noparse]0] : in port rx = XS1_PORT_1B;
    on stdcore  : out port lcdData = XS1_PORT_32A;
    on stdcore  : in port keys = XS1_PORT_8B;
    
    int main ( void ) {
      par {
        on stdcore [noparse][[/noparse]0] : uartTX (tx);
        on stdcore [noparse][[/noparse]0] : uartRX (rx);
        on stdcore  : lcdDrive (lcdData);
        on stdcore  : kbListen (keys);
        }
    }
    
    



    It's very simple and elegant.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM

    Post Edited (Leon) : 8/5/2010 5:14:53 AM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-08-05 06:18
    Thanks for that link Leon. I didn't know Sir Tony Hoare wrote the quicksort algorithm. This algorithm is at the heart of my practice management software I wrote 15 years ago. Needs to quickly sort tens of thousands of consults, either by patient, or by date. Working fine over all those years. So, thankyou Sir Tony.

    Re mikediv Hi DR_A ... But MPM has to run under emulation of a Z80 or similar chip correct? It has been a dream of mine to wire up a few props and get them to do something in Parallel ,,, example
    having access to all the I/O with Spin commands or whatever so I could treat the 4 props as one big prop while I have built a 4 prop dev board thanks Jazzed, heater, clusso its useless

    I can only use one prop at a time so I have to program each prop chip separately to do something I would love to see a parallel program that would like I said treat your connected props as one big unit it would be so awesome to be able to do something like

    dira (108) : = 1 or ina ( 96 ) : = 1..... just keep adding up all the I/O pins as you add prop chips .. could this ever even be possible??


    I guess there is the hardware and the software. For hardware, if you devoted one cog per chip to comms that still gives 28 cogs. Use the 4 port serial code and run two serial ports. Then you can daisy chain. Data in packets with a source and destination.

    For software, ok, you write dira(108). That needs to go through a preprocessor as it is not a valid command. Or, for a more practical solution, call a PUB NetworkPins(108) and that pub creates a message (which might only be a byte or two), sends it to a packet wrapper routine which sends it to the comms cog.

    Programming ought to be transparent too. You might want some VGA driver code to go to prop 3. So maybe download it to prop 1 and it gets passed through to prop 3. I think the code for props to program other props exists now. All props are going to need code for comms and some common PUB routines, so they could be pre-written when you start a new project.

    And then you need some sort of IDE that makes it easy to program in this environment.

    There could be some real advantages. 128k of cluster ram for instance. Much much faster code than an MPM emulation. Less chips on a board than the external ram solutions.

    Fascinating stuff!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
Sign In or Register to comment.