This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Processing speed



I have an article that I'm using as a reference that says a 32MHz processor can perform a process in a couple seconds, but let's say it does the process in five seconds to be on the safe side - so it does the process at 0.2Hz. If I were to use an AM3715A processor running at 600MHz (because I need it to run in temperature extremes), would I be able to perform the same (or very similar) process at a minimum of 5Hz? I don't think it's a linear relationship between processor speed and processing time, but I think it should be possible to do. Just need to make sure. Thanks.

 

Paul

  • Paul,

    This is very much dependent on the actual algorithm being executed.

    If the reference processor does not have any special features to accelerate parallel operations but the algo. can be broken down to use some degree of parallelism then NEON can help even more.

    If on the other hand the algo. requires jumping around significantly in memory then this might hurt the AM performance due to memory latency.

    There are many factors which will play into doing this type of analysis so it is very difficult to know if the relationship will be linear, if the AM will be able to accelerate even more, or will pay some penalty that the reference processor does not.

    The only way to truly be sure is to run the code on an AM device.

    You can start to get some feel by looking more closely at the algo to determine a) if it can utilize any NEON vectorization and b) how it will utilize memory.

    BR,

    Steve

  • Steve:

    The reference processor was used in the '90s (which is why it was only running at 32MHz). The algorithm I will be using is a basic search and match within a file (I will have some data that I am trying to match within a file). Not sure how big the file will be (in terms of number of entries), but I am hoping that by using a binary file, I will be able to minimize the file size and search time (it is my understanding that binary files can be smaller and faster to search through). Regardless of whether I use a binary file or an ASCII text file, I'll start at the beginning of the file and search through it to the end, hopefully picking up the data points I am looking for. Not sure if it is possible to break this sort of algorithm down to use parallelism, but if I can, then I imagine it could take advantage of NEON.

    In light of this new information, do you think a rate of 5Hz is unreasonable? Thanks.

     

    Paul

  • Paul,

    In this case it may well be that the limiting factor is your file storage.

    Where/how will your source file be stored? If this is on a network and the algo does a lot of back and forth in the file then the network layer may be more critical.

    If on the other hand the file is stored on a RAM disk and the algo does binary searches, then the results will be wildly different.

    Using binary files will certainly reduce the size of the source file and hence should in general help improve performance.

    Bottom line in this example...

    If the algo. is basically file manipulation bound then your file system will have a large impact on performance. If the algo is computational then the processor will have a large impact on performance.

    Obviously the processor will also handle the file manipulation so a faster processor will help, but the down side is that if the file system is more complex than the original reference then it will take more overhead. e.g. if the original system used compact flash and accessed the data directly the overhead will be low whereas if the new system is accessing the file over a SMB network connection then there will be a lot more overhead.

    Operating system overheads will also play into this. Did the original system run on an OS? Do you plan on using an OS with the AM?

    BR,

    Steve

  • Steve:

    I'm seriously considering taking advantage of the PoP architecture for memory, so that shouldn't be a limiting factor. There won't be any actual file manipulation, just reading it. I will have some image processing to generate data to look for in the file, which could slow things down, but I don't think that much. I really doubt the reference architecture had an OS, and I know I won't have one (I plan to use CodeSourcery's G++ for "bare metal" code compilation). I'm really getting the feeling here that 5Hz won't be a problem for me, so unless you see any reason why it won't be possible, thank you for your help.

     

    Paul

  • Paul,

    I would not picture any issues either, but I do want you to be aware of all the factors which can go into a system's performance.

    Regarding the memory, it does not make any difference if the memory is POP or on the PCB since the interface is the same. I was really talking about the memory architecture which includes things like pages, buffers, FIFOs, bridges etc...

    For the file, it is still important where the file resides. It must exist somewhere.

    BR,

    Steve

  • Steve:

    Thanks for all your help. I'm much more confidant in the capability of this processor to meet my needs.

     

    Paul