No. We first need Drivers to.. well.. drive them. Then you'll have to write stuff for them by yourself (Including Message Passing to/from the A-15's which doesn't sound easy).The OMAP5 has tree 2D Accelerators BTWAre there any game engines that will be able to use stuff like the M4s? Would love to squeeze as much power as possible out of it.
The M4s are not going to be useful for adding performance to anything, they're like 1/20th the power of the A15s...
They're intended to be used as some IPU (Imaging Processing Unit). Not sure how much use that use case will have with the Pyra, it's possible they could be repurposed for other things, but like exophase said, I don't they could be used to boost any performance.What are the M4s used for, anyway? Is there any chance they're just for I/O? Like the keyboard+touchscreen+controller buttons, not the USB3-OTG or eSATA.
Well, that still makes for a bit of computational power, even more compared to the Pandora. That would still free up to 5% of charge for A15-tied programs. If you can relieve the A15s from the smaller tasks, they could chew a bit more. Not by much, but it's still something to move the lagging line further.
If there's one thing consoles taught us, it's that every single bit of total power can and should be optimized to compensate for its lesser brute power. That's how you make Wave Race 64 and Indiana Jones and the Infernal Machine, folks.
/media/Pandora/dev/openmp$ cat helloworld.c
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[]) {
int th_id, nthreads;
#pragma omp parallel private(th_id)
{
th_id = omp_get_thread_num();
printf("Hello World from thread %d\n", th_id);
#pragma omp barrier
if ( th_id == 0 ) {
nthreads = omp_get_num_threads();
printf("There are %d threads\n",nthreads);
}
}
return EXIT_SUCCESS;
}
gcc -fopenmp helloworld.c -o helloworld
./helloworld
Hello World from thread 0
There are 1 threads
Could Heterogeneous System Architecture be useful in order to harness the power of the two Cortex M4 CPUs ?
Oops, sorry, I meant using OpenMP on the two A 15 CPUs, not on the two M4s. Actually, what I mean is:OpenMP won't work with the M4s either. That needs OS threads, the M4s can't really be managed that way.
Pandora's OMAP3530/DM3730 actually has an ARM9 somewhere in there that most people don't know about. And they don't know about it because it has a very specific purpose that isn't really relevant to most people, and I guess wasn't worth the marketing focus to inform people of. I'm not really sure what changed there with the M4s and TI's marketing, but functionally it's a similar arrangement.
According to this page, it would really be a pity not to use the Vivante GC320 !GC320 I hope not, the software support is at least partly there and right now I don't even know what else is available for proper scaled screen output. But this is something that needs to be explored more.
If uclinux can be run on the M4s wouldn't that give us OS threads?OpenMP won't work with the M4s either. That needs OS threads, the M4s can't really be managed that way.