<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>ptp in the press</title><link rel="stylesheet" href="../default_style.css" type="text/css"></head><body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000"><table border=0 cellspacing=5 cellpadding=2 width="100%">  <tbody>    <tr>      <td width="69%" class="bannertext">        <font class="indextop style2">ptp in the press </font>        <br>        <font class="indexsub">parallel tools platform subproject</font>      </td>      <td width="31%">        <div align="center">          <img src="../images/Idea.jpg" width="120" height="86" hspace="50" align="middle">        </div>      </td>    </tr>  </tbody></table><table width="100%" border=0 cellpadding=2 cellspacing=5>  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">April 13, 2005 - Eclipse Project Takes on Parallel Computing</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:</strong><br>        Development tools for parallel computer systems tend to be architecture-specific, difficult to integrate and fairly basic. Parallel application developers often find themselves juggling tools to match the different machines, shifting gears from stark command-line interfaces and text editors to a range of graphical user interfaces</p>        <p><strong>Full Story:</strong><br>            <a href="http://www.adtmag.com/article.asp?id=10943">http://www.adtmag.com/article.asp?id=10943</a> <br>            <strong> </strong></p>  </tr></table><table border=0 cellspacing=5 cellpadding=2 width="100%">  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">April 12, 2005 - Eclipse focuses on tools for parallel systems development</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:</strong><br>The Eclipse Foundation and Los Alamos National Laboratory on Tuesday are formally announcing the Parallel Tools Platform Project to furnish better open source software tools for parallel computers. The Eclipse-based project is intended to provide a portable parallel development environment that can boost productivity at the engineering level.</p>        <p><strong>Full Story:</strong><br>            <a href="http://www.infoworld.com/article/05/04/12/HNeclipseparallel_1.html%20%20%20">http://www.infoworld.com/article/05/04/12/HNeclipseparallel_1.html</a> <br>            <strong> </strong></p>  </tr>  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">April 12, 2005 - Eclipse For Clusters</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:<br>      </strong>Big News. The Eclipse Foundation and Los Alamos National Laboratory today announced the Parallel Tools Platform Project, a new Eclipse Technology project aimed at creating better open source software tools for parallel computers. The project page is on the Eclipse site. For those that do not know about Eclipse, think about an integrated parallel development/user GUI for clusters.</p>        <p><strong>Full Story:</strong><br>            <a href="http://www.clusterworld.com/article.pl?sid=05/04/12/1545257&mode=nocomment&tid=6%20%20">http://www.clusterworld.com/article.pl?sid=05/04/12/1545257&amp;mode=nocomment&amp;tid=6</a><br>            <strong> </strong></p>  </tr>  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">April 12, 2005 - LANL, Eclipse Intro Parallel Tools Platform Project</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:<br>      </strong>The Eclipse tools environment is being extended to support development of applications for large, parallel systems, an Eclipse official said at the EclipseCon 2005 conference on Tuesday.</p>        <p><strong>Full Story:</strong><br>            <a href="http://news.taborcommunications.com/msgget.jsp?mid=366003">http://news.taborcommunications.com/msgget.jsp?mid=366003</a><br>            <strong> </strong></p>  </tr>  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">April 12, 2005 - Parallel Tools Platform</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:<br>      </strong>The Los Alamos National Laboratory will lead the Parallel Tools Platform Project, a new Eclipse technology project aimed at creating open-source software tools for parallel computers. The project will extend the Eclipse platform to build up a user-friendly environment for parallel computer systems. It will add support for a range of parallel architectures, provide an integrated parallel debugger, and develop infrastructure to assist in the integration of other parallel tools. A separate but related component of the project will be to add Fortran language support to the Eclipse environment.</p>        <p><strong>Full Story:</strong><br>            <a href="http://www.eclipsenews.com/f3/index.cfm?fuseaction=newsletters.getArticle&webID=1003&newsID=5024&issueID=5142&articleID=50727%20%20">http://www.eclipsenews.com/f3/index.cfm?fuseaction=newsletters.getArticle&amp;webID=1003&amp;newsID=5024&amp;issueID=5142&amp;articleID=50727</a><br>            <strong> </strong></p>  </tr>  <tr>    <td align=left valign=top bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">March 2, 2005 - Parallel systems development eyed by Eclipse</font></b></td>  </tr>  <tr>    <td align=left valign=top bgcolor="#FFFFFF"><p><strong>Summary:<br>      </strong>The Eclipse tools environment is being extended to support development of applications for large, parallel systems, an Eclipse official said at the EclipseCon 2005 conference on Tuesday.</p>        <p><strong>Full Story:</strong><br>            <a href="http://www.infoworld.com/article/05/03/02/HNparallel_1.html">http://www.infoworld.com/article/05/03/02/HNparallel_1.html </a><br>            <strong> </strong></p>  </tr></table></body></html>