Difference between revisions of "ARMv8 Support Analysis"

From CDOT Wiki
Jump to: navigation, search
(Project Leader(s))
(Project Details)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[Category:Fedora ARM Secondary Architecture]][[Category:SBR600]][[Category:DPI908/SBR600]][[Category:Fall 2012 DPI908]][[Category:Fall 2012 SBR600]]{{Draft}}
 
= ARMv8 Support Analysis =
 
= ARMv8 Support Analysis =
 
<!-- Replace "Project Name" with the actual name of the project in the line above. -->
 
<!-- Replace "Project Name" with the actual name of the project in the line above. -->
Line 15: Line 16:
 
Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)
 
Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)
  
Sources: [[SBR600_Potential_Projects#ARMv8_Support_Analysis|ARMv8_Support_Analysis]]
+
Sources: [[DPI908/SBR600_Potential_Projects#ARMv8_Support_Analysis|ARMv8_Support_Analysis]]
  
 
<!-- Description should be no longer than a paragraph.  Include links to any relevant on-line resources.  For example, [http://fedoraproject.org/wiki] or [http://developer.mozilla.org MDC]. -->
 
<!-- Description should be no longer than a paragraph.  Include links to any relevant on-line resources.  For example, [http://fedoraproject.org/wiki] or [http://developer.mozilla.org MDC]. -->
  
 
== Project Leader(s) ==
 
== Project Leader(s) ==
 
'''Alexander Davis''' <br />
 
Wiki Page: [[User:Alexander_Aristotle_Davis| Alexander Davis]]<br />
 
IRC: Zulafoxx<br />
 
  
 
'''Andrew Oatley-Willis'''<br />
 
'''Andrew Oatley-Willis'''<br />
Line 39: Line 36:
 
== Project Contributor(s) ==
 
== Project Contributor(s) ==
  
 +
[http://markmail.org/message/6fsahegaah3xcep6 JCM's Code]
 
<!-- Name(s) of people casually working on the project, or who have contributed significant help.  Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
 
<!-- Name(s) of people casually working on the project, or who have contributed significant help.  Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
  
Line 45: Line 43:
 
== Project Details ==
 
== Project Details ==
  
<!-- Provides more depth than the Project Description. This is the place for technical discussions, project specs, or other details. If this gets very long, you might consider breaking this part into multiple pages and linking to them. -->
+
===SBR600 Database Connect for ARMv8===
 +
* Database Choice
 +
**MySQL
 +
**PSQL
 +
 
 +
* Current Data Set before 0.1
 +
<pre>
 +
Aborting due to error preparing package
 +
Summary for package: python-2.7.3-6.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 1
 +
        Total number of files: 1
 +
 
 +
        Inline assembly usage:
 +
                ./Python-2.7.3/Python/pymath.c (2)
 +
                ./Python-2.7.3/Python/ceval.c (9)
 +
Summary for package: python-squaremap-1.0.0-0.5.b25.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-ssh-1.7.13-2.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-repoze-who-plugins-sa-1.0.1-1.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-demjson-1.6-2.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-zope-i18n-3.7.4-4.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-unidecode-0.04.7-4.fc16.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-smbc-1.0.13-1.fc17.src.rpm
 +
Could not prepare source package
 +
0
 +
Aborting due to error preparing package
 +
Summary for package: pymongo-2.1.1-1.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
 
 +
ExcludeArch:    ppc ppc64 %{sparc} s390 s390x
 +
 
 +
</pre>
 +
 
 +
 
 +
* Data Formation Requirments for normalization
 +
** Possible csv file:
 +
**#packagename,assembly(y/n),adata1,adata2.....
 +
**#packagename,excludearch(y/n),arch1,arch2......
  
 
== Project Plan ==
 
== Project Plan ==
Line 57: Line 112:
 
<!-- Note: each contributor is expected to have unique goals. These goals may be ''related'' to other students' work, but must be ''distinct'' and ''attainable'' regardless of the state of the other students' work. For example, under the umbrella of one project title, one student may work on packaging a piece of software and another may work on documentation, or one may work on solving one bug and another on solving another bug, but two students must not work on the same bug or depend on the other students' work in order to be able to complete their own project. -->
 
<!-- Note: each contributor is expected to have unique goals. These goals may be ''related'' to other students' work, but must be ''distinct'' and ''attainable'' regardless of the state of the other students' work. For example, under the umbrella of one project title, one student may work on packaging a piece of software and another may work on documentation, or one may work on solving one bug and another on solving another bug, but two students must not work on the same bug or depend on the other students' work in order to be able to complete their own project. -->
 
* 0.1
 
* 0.1
 +
** Build initial script to identify assembly code inside fedora packages
 +
** Make a basic database with the initial data
 
* 0.2
 
* 0.2
 +
** Generate script that will distinguish between Arch and Platform specific assembly code
 +
** Get/make koji connector to get additional data
 +
** Make a better databse with the newer set dataset
 
* 0.3
 
* 0.3
 +
** Predict the list of Fedora packages that may or may not build on ARMv8
  
 
== Communication ==
 
== Communication ==
Line 79: Line 140:
 
=== Blogs ===
 
=== Blogs ===
 
<!-- Links to the blogs of people involved, both inside and outside Seneca -->
 
<!-- Links to the blogs of people involved, both inside and outside Seneca -->
 +
 +
[http://www.andrewow.wordpress.com/category/sbr600 Andrew's Blog]
 +
 +
[http://maxamaxim.wordpress.com/category/cdot/ Maxam's Blog]
  
 
==== Seneca Particpants ====
 
==== Seneca Particpants ====
Line 84: Line 149:
 
[[User:Oatley | Andrew OW]]
 
[[User:Oatley | Andrew OW]]
  
[[User:Maxamaxim| Max]]
+
[[User:Maxamaxim | Max]]
  
 
==== Non-Seneca Participants ====
 
==== Non-Seneca Participants ====

Latest revision as of 12:45, 5 November 2012

Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

ARMv8 Support Analysis

Project Description

Many Fedora packages contain assembley code for performance optimization or platform-specific support. Assembley code is very processor-specific. When assembley code is not present for a specific architecture, either the package will not build on that architecture, or other code (typically C) which is not processor-specific is used instead.

This project involves analyzing Fedora packages to determine which ones contain assembly code, and determining whether the package will probably build on the upcoming ARMv8 64-bit architecture.

Expected outcome: An analysis of part of the Fedora package set to predict ARMv8 build outcomes.

Maximum number of students: 6 (each taking part of the Fedora package set)

Skills required: packaging, scripting, writing

Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)

Sources: ARMv8_Support_Analysis


Project Leader(s)

Andrew Oatley-Willis
Wiki Page: Andrew OW
Learn: acoatley-willis
IRC: oatley

M A
Wiki Page: Max
Learn: mhabed
IRC: maxam


Project Contributor(s)

JCM's Code

Project Details

SBR600 Database Connect for ARMv8

  • Database Choice
    • MySQL
    • PSQL
  • Current Data Set before 0.1
Aborting due to error preparing package
Summary for package: python-2.7.3-6.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 1
        Total number of files: 1

        Inline assembly usage:
                ./Python-2.7.3/Python/pymath.c (2)
                ./Python-2.7.3/Python/ceval.c (9)
Summary for package: python-squaremap-1.0.0-0.5.b25.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-ssh-1.7.13-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-repoze-who-plugins-sa-1.0.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-demjson-1.6-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-zope-i18n-3.7.4-4.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-unidecode-0.04.7-4.fc16.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-smbc-1.0.13-1.fc17.src.rpm
Could not prepare source package
0
Aborting due to error preparing package
Summary for package: pymongo-2.1.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0

ExcludeArch:    ppc ppc64 %{sparc} s390 s390x


  • Data Formation Requirments for normalization
    • Possible csv file:
      1. packagename,assembly(y/n),adata1,adata2.....
      2. packagename,excludearch(y/n),arch1,arch2......

Project Plan

Tracking mechanism (bugzilla, trac, github, ...):

Key contacts:

Goals for each release and plans for reaching those goals:

  • 0.1
    • Build initial script to identify assembly code inside fedora packages
    • Make a basic database with the initial data
  • 0.2
    • Generate script that will distinguish between Arch and Platform specific assembly code
    • Get/make koji connector to get additional data
    • Make a better databse with the newer set dataset
  • 0.3
    • Predict the list of Fedora packages that may or may not build on ARMv8

Communication

Mailing Lists

arm

devel

Upsteam Wiki and Web

Links/Bugs/Tracking

Source Code Control

Blogs

Andrew's Blog

Maxam's Blog

Seneca Particpants

Andrew OW

Max

Non-Seneca Participants

Planets

Project News