Bug 432055 - [visualizer] Create a visualizer for the Epiphany chip
Summary: [visualizer] Create a visualizer for the Epiphany chip
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-dsf-gdb (show other bugs)
Version: Next   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on: 432854
Blocks:
  Show dependency tree
 
Reported: 2014-04-04 14:04 EDT by Marc Dumais CLA
Modified: 2020-09-04 15:19 EDT (History)
2 users (show)

See Also:


Attachments
Version fo Epiphany visualizer that uses the new GraphicObjectContainer class (149.71 KB, patch)
2014-04-21 10:34 EDT, Marc Dumais CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Dumais CLA 2014-04-04 14:04:24 EDT
The idea is to create a visualizer, based on the Multicore Visualizer, but adapted to visualize an Epiphany chip ( http://www.adapteva.com/epiphany-multicore-intellectual-property/ ). 

ATM, the Epiphany chip is available as part of the parallella board (http://www.parallella.org/)

One interesting aspect of the Epiphany chip is that its multiple eCores have to be displayed in a pre-defined configuration - that closely reflect the physical layout of the chip - since their position relative to the other eCores matter. So the Epiphany Visualizer had to take that factor into account and adapt its display algorithm. In contrast, the cores of an Intel or AMD CPU do not have this property.
Comment 1 Marc Dumais CLA 2014-04-04 14:27:39 EDT
Here is a preliminary version of the Epiphany Visualizer. It's not yet meant to be reviewed, as is. 

https://git.eclipse.org/r/#/c/24473/

The visualizer will need to be completed when the e-server (GDB server / stub for Epiphany) is completed / improved. In the meantime, some of the responses that would come from e-server are stubbed / faked. This means that the visualizer can be tried without Epiphany hardware, just by starting any GDB session. 

Here are a few pointers:
- to switch between a simulated 16/64 eCores Epiphany chip, select one of the two versions of the constant "TARGET_TYPE" and comment the other one, near the top of EpiphanyVisualizer.java

- the model is being filled-in with bogus information ATM. You can change the model info in  EpiphanyVisualizer#getVisualizerModel(). Once e-server can provide this information, we will update so that the model is filled-in with "real" data.

- The Epiphany visualizer shows just the eCores by Default. To also see the eMesh network, you need to use the context menu on the visualizer to enable load monitoring. Note: the load information is obtained from the e-server using a proprietary (for now) "info os load" command, that will not be understood by a vanilla GDB, and will probably cause an exception on non-Epiphany hardware or older Epiphany e-server versions.

We plan to take come of the ideas from this code and integrate them to the current Visualizer framework. Stay tuned.
Comment 2 Marc Dumais CLA 2014-04-16 10:22:01 EDT
Re-posted the code here (I forgot to have a changeid in the commit message)

https://git.eclipse.org/r/25133
Comment 3 Marc Dumais CLA 2014-04-21 10:33:25 EDT
I have updated the Epiphany visualizer code to use the new Graphic object container currently under review; see Bug 432854

However, when trying to push the new version, I have run into what seems to be this Gerrit issue: 
https://code.google.com/p/gerrit/issues/detail?id=2296

So instead I'll attach a patch to this bug. It's really not meant for review at this point, in any case, but just to give the occasion to try the new code. 

Apply the patch over this: https://git.eclipse.org/r/#/c/25133/3

cd [...]/org.eclipse.cdt
git am < bug_432055.patch

Then import the new plugin: 
Import -> git -> Projects from git -> Existing local repository -> org.eclipse.cdt -> dsf-gdb -> org.eclipse.cdt.dsf.gdb.multicorevisualizer.epiphany.ui
Comment 4 Marc Dumais CLA 2014-04-21 10:34:23 EDT
Created attachment 242160 [details]
Version fo Epiphany visualizer that uses the new GraphicObjectContainer class
Comment 5 Marc Dumais CLA 2014-04-21 10:37:03 EDT
Oops - correction:

Apply the patch over this:

https://git.eclipse.org/r/#/c/25079/3
Comment 6 Marc Dumais CLA 2014-04-22 11:25:09 EDT
Hi,

I was able to push a new version of the Epiphany visualizer, using the git command-line client instead of egit. It's rebased on the latest patch for Bug 432854.

https://git.eclipse.org/r/#/c/25133/4

Regards,

Marc