<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Vector Processor in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164528#M88928</link>
    <description>FOX,&lt;BR /&gt;&lt;BR /&gt;Some compilers (I am shure for C and CXX) have a qualifier for generating the code for a specific type of Alpha chip. This will speed up the program on Alphas with the same chip and probably slow down on others but you can recompile the programs for a specific Alpha.&lt;BR /&gt;&lt;BR /&gt;If you have C or C++ compiler see HELP CC /ARCHITECTURE or HELP CXX /ARCHITECTURE.&lt;BR /&gt;&lt;BR /&gt;Bojan</description>
    <pubDate>Thu, 20 Mar 2008 07:37:43 GMT</pubDate>
    <dc:creator>Bojan Nemec</dc:creator>
    <dc:date>2008-03-20T07:37:43Z</dc:date>
    <item>
      <title>Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164522#M88922</link>
      <description>Can a Alpha processor be used in Vector processing as well?&lt;BR /&gt;&lt;BR /&gt;If so can anyone please write a code how it can be utilized.&lt;BR /&gt;&lt;BR /&gt;please let me know the answer.&lt;BR /&gt;&lt;BR /&gt;Thanks</description>
      <pubDate>Wed, 19 Mar 2008 14:00:22 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164522#M88922</guid>
      <dc:creator>FOX MULDER_2</dc:creator>
      <dc:date>2008-03-19T14:00:22Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164523#M88923</link>
      <description>FOX,&lt;BR /&gt;&lt;BR /&gt;As a RISC architecture, there is no "vector processing" instruction set as distinct from the regular instruction set.&lt;BR /&gt;&lt;BR /&gt;That said, carefully written and well tuned code can achieve very high vector performance on an Alpha. It does require care, as optimizing code for pipelined execution can be a complex task.&lt;BR /&gt;&lt;BR /&gt;Depending on what one is doing, there may already be well-optimized routines for the operations available.&lt;BR /&gt;&lt;BR /&gt;- Bob Gezelter, &lt;A href="http://www.rlgsc.com" target="_blank"&gt;http://www.rlgsc.com&lt;/A&gt;</description>
      <pubDate>Wed, 19 Mar 2008 14:34:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164523#M88923</guid>
      <dc:creator>Robert Gezelter</dc:creator>
      <dc:date>2008-03-19T14:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164524#M88924</link>
      <description>Yes, Alpha configurations can utilize vector processing.  The appropriate solution depends on the application, and the code will vary.  Some background details on the environment and the application, please?&lt;BR /&gt;&lt;BR /&gt;Conversely, should this be a test-, homework- or customer-support-related question and not an application implementation question, please let us know about that as the answer to that question can differ from my (admittedly generic) answer above; the wording of the particular question is critical here.&lt;BR /&gt;</description>
      <pubDate>Wed, 19 Mar 2008 17:51:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164524#M88924</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-03-19T17:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164525#M88925</link>
      <description>FOX,&lt;BR /&gt;&lt;BR /&gt;  "vector processing" is really just the execution of the same instruction on a vector of values. In the past there were some specialised (and expensive!) vector engines which could execute parallel operations.&lt;BR /&gt;&lt;BR /&gt;  There were a few VAX models released with implementations of the optional vector instruction set (VAX9000?). There were also special directives for the FORTRAN compiler to code vector operations. For C there are various vector processing libraries.&lt;BR /&gt;&lt;BR /&gt;  The very concept of  vector instructions (kind of "extreme CISC") is the exact opposite of the philosophy of Alpha RISC architecture, so it doesn't make sense to have a vector processing Alpha.&lt;BR /&gt;&lt;BR /&gt;  In practice, todays processors are so fast and cheap you can easily beat the vector engines with serial code, especially using highly optimised libraries and multiple processors/cores/threads.&lt;BR /&gt;&lt;BR /&gt;  Get yourself a good quality numerical library (Google IMSL for a start), and write code to use their vector operations. If it ever finds its way on a "true" hardware vector platform (unlikely), it will automagically exploit those capabilities. On other platforms the vector operations will be implemented serially.</description>
      <pubDate>Wed, 19 Mar 2008 20:23:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164525#M88925</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2008-03-19T20:23:23Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164526#M88926</link>
      <description>The VAX systems with integrated SIMD were (all?) Rigel-class boxes.   The associated VVIEF is available on other VAX boxes.&lt;BR /&gt;&lt;BR /&gt;As for more recent SIMD options, they're quite viable for some applications and apparently successful in the market; there are quite familiar configurations with RISC processors with multiple SIMD engines, and more are in the planning stages.&lt;BR /&gt;&lt;BR /&gt;All of which can be gotten to work on Alpha, depending on the application.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 19 Mar 2008 22:18:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164526#M88926</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-03-19T22:18:49Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164527#M88927</link>
      <description>FOX,&lt;BR /&gt;&lt;BR /&gt;The Alpha architecture was also extended on the 21164 with the MVI series instructions to enable high performance processing of image and other multimedia data. I do not have the time at this instant to produce the citations, but there were quite a few papers published in various journals on this addition to the architecture.&lt;BR /&gt;&lt;BR /&gt;The performance enhancing capabilities of these instructions would likely mean writing code directly in MACRO, quite possibly MACRO-64 (I do not recall if there is any support in the MACRO-32 compiler for MVI), which needless to say, would not be portable.&lt;BR /&gt;&lt;BR /&gt;So, in a sense, ALPHA did, in the end, have some additions to enhance vector processing.&lt;BR /&gt;&lt;BR /&gt;- Bob Gezelter, &lt;A href="http://www.rlgsc.com" target="_blank"&gt;http://www.rlgsc.com&lt;/A&gt;</description>
      <pubDate>Thu, 20 Mar 2008 06:12:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164527#M88927</guid>
      <dc:creator>Robert Gezelter</dc:creator>
      <dc:date>2008-03-20T06:12:25Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164528#M88928</link>
      <description>FOX,&lt;BR /&gt;&lt;BR /&gt;Some compilers (I am shure for C and CXX) have a qualifier for generating the code for a specific type of Alpha chip. This will speed up the program on Alphas with the same chip and probably slow down on others but you can recompile the programs for a specific Alpha.&lt;BR /&gt;&lt;BR /&gt;If you have C or C++ compiler see HELP CC /ARCHITECTURE or HELP CXX /ARCHITECTURE.&lt;BR /&gt;&lt;BR /&gt;Bojan</description>
      <pubDate>Thu, 20 Mar 2008 07:37:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164528#M88928</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2008-03-20T07:37:43Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164529#M88929</link>
      <description>Thanks to all.&lt;BR /&gt;&lt;BR /&gt;It was merely a generic question,does not have anything to do with any application.&lt;BR /&gt;&lt;BR /&gt;I have one more question to ask :&lt;BR /&gt;What are the techniques to do parallel computing..I mean how should a code be written to do a parallel computing.&lt;BR /&gt;An example will be very helpful.&lt;BR /&gt;&lt;BR /&gt;Thanks</description>
      <pubDate>Thu, 20 Mar 2008 07:58:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164529#M88929</guid>
      <dc:creator>FOX MULDER_2</dc:creator>
      <dc:date>2008-03-20T07:58:49Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164530#M88930</link>
      <description>FOX,&lt;BR /&gt;&lt;BR /&gt;The best thing, to my knowledge, on Alpha and Itanium is using the pthread-library on an SMP-machine.&lt;BR /&gt;Search for pthread and you'll find a lot interresting examples.&lt;BR /&gt;</description>
      <pubDate>Thu, 20 Mar 2008 10:32:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164530#M88930</guid>
      <dc:creator>Peter_364</dc:creator>
      <dc:date>2008-03-20T10:32:26Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164531#M88931</link>
      <description>On OpenVMS, parallel processing can be achieved via KP threads APIs (available on recent OpenVMS Alpha, and available on OpenVMS I64), via POSIX threads, via ASTs ("sort of"), via processes operating across multiple servers, or via multiple processes on one multicore or multiprocessor server, or by a combination of these techniques.&lt;BR /&gt;&lt;BR /&gt;Older OpenVMS application environments used the PPL library, though that OpenVMS library has largely been retired.&lt;BR /&gt;&lt;BR /&gt;In terms of parallel processing capabilities, the OpenVMS tool-set is fairly limited and arguably fairly primitive in this regard, and implementations and environments including Erlang (including Mnesia), MPI, OpenMP, Xgrid, or other such are generally considered more advanced.&lt;BR /&gt;&lt;BR /&gt;OpenVMS does provide the basics of parallel processing with its clustering and SMP and multiprocessing support, though you'll likely find more applications around that are using grids or Beowulf or other such.&lt;BR /&gt;&lt;BR /&gt;As for a generic discussion of multicore, SMP and SMT as related to OpenVMS, see:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://64.223.189.234/node/13" target="_blank"&gt;http://64.223.189.234/node/13&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Synchronization and locking:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://64.223.189.234/node/638" target="_blank"&gt;http://64.223.189.234/node/638&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://64.223.189.234/node/492" target="_blank"&gt;http://64.223.189.234/node/492&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Alpha processor caching, shared memory, and memory barriers:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://64.223.189.234/node/407" target="_blank"&gt;http://64.223.189.234/node/407&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;For an application that performs parallel processing on many platforms, the Apache web server is a wide-spread example.  Apache is often configured with a herd of processes that can service incoming web requests, and the web server passes off these web requests to these processes.&lt;BR /&gt;&lt;BR /&gt;I would tend to recommend a semi-recent college-level textbook covering introductory computer programming, as parallel processing, SIMD, MIMD, NUMA and such are all core concepts.  For a more established but very valuable view, Knuth has a well-regarded series of books on core computing algorithms, the multi-volume Art of Computer Programming.&lt;BR /&gt;&lt;BR /&gt;Various colleges also now have their courses and course materials on-line.  You might check MIT or Harvard or such.&lt;BR /&gt;&lt;BR /&gt;If you seek source code to solidify your knowledge of parallel processing and of synchronization algorithms, available search tools such as Google can be your friend.  &lt;A href="http://code.google.com" target="_blank"&gt;http://code.google.com&lt;/A&gt; or &lt;A href="http://www.google.com." target="_blank"&gt;http://www.google.com.&lt;/A&gt;  If you want to aim &lt;A href="http://www.Google.com" target="_blank"&gt;http://www.Google.com&lt;/A&gt; at a web repository of code for OpenVMS, do use the Google site keyword, and pick a repository site as a target such as "site:mvb.saic.com".&lt;BR /&gt;&lt;BR /&gt;As for other sources for OpenVMS source code, the OpenVMS Frequently Asked Questions (FAQ) (&lt;A href="http://www.hoffmanlabs.com/vmsfaq/)" target="_blank"&gt;http://www.hoffmanlabs.com/vmsfaq/)&lt;/A&gt; has a long list of sites where you can pick up source code related to OpenVMS.  One site that's not indexed by Google (part of the dark web) but that has piles of OpenVMS source examples is accessible via the ITRC James search engine: &lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www11.itrc.hp.com/service/james/CPQhome.do" target="_blank"&gt;http://www11.itrc.hp.com/service/james/CPQhome.do&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 20 Mar 2008 18:29:15 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164531#M88931</guid>
      <dc:creator>Hoff</dc:creator>
      <dc:date>2008-03-20T18:29:15Z</dc:date>
    </item>
    <item>
      <title>Re: Vector Processor</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164532#M88932</link>
      <description>&amp;gt;Bob: As a RISC architecture, there is no "vector processing" instruction set as distinct from the regular instruction set.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;carefully written and well tuned code can achieve very high vector performance&lt;BR /&gt;&lt;BR /&gt;Exactly.  This is typically done by software pipelining.  A loop can be doing multiple stages at once.&lt;BR /&gt;&lt;BR /&gt;The IPF architecture has special branch instructions to set up these loops.  It also has rotating registers.</description>
      <pubDate>Sat, 22 Mar 2008 06:24:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/vector-processor/m-p/4164532#M88932</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2008-03-22T06:24:38Z</dc:date>
    </item>
  </channel>
</rss>

