- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Vector Processor
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 07:00 AM
тАО03-19-2008 07:00 AM
Vector Processor
If so can anyone please write a code how it can be utilized.
please let me know the answer.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 07:34 AM
тАО03-19-2008 07:34 AM
Re: Vector Processor
As a RISC architecture, there is no "vector processing" instruction set as distinct from the regular instruction set.
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.
Depending on what one is doing, there may already be well-optimized routines for the operations available.
- Bob Gezelter, http://www.rlgsc.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 10:51 AM
тАО03-19-2008 10:51 AM
Re: Vector Processor
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 01:23 PM
тАО03-19-2008 01:23 PM
Re: Vector Processor
"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.
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.
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.
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 03:18 PM
тАО03-19-2008 03:18 PM
Re: Vector Processor
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.
All of which can be gotten to work on Alpha, depending on the application.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-19-2008 11:12 PM
тАО03-19-2008 11:12 PM
Re: Vector Processor
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.
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.
So, in a sense, ALPHA did, in the end, have some additions to enhance vector processing.
- Bob Gezelter, http://www.rlgsc.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-20-2008 12:37 AM
тАО03-20-2008 12:37 AM
Re: Vector Processor
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.
If you have C or C++ compiler see HELP CC /ARCHITECTURE or HELP CXX /ARCHITECTURE.
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-20-2008 12:58 AM
тАО03-20-2008 12:58 AM
Re: Vector Processor
It was merely a generic question,does not have anything to do with any application.
I have one more question to ask :
What are the techniques to do parallel computing..I mean how should a code be written to do a parallel computing.
An example will be very helpful.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-20-2008 03:32 AM
тАО03-20-2008 03:32 AM
Re: Vector Processor
The best thing, to my knowledge, on Alpha and Itanium is using the pthread-library on an SMP-machine.
Search for pthread and you'll find a lot interresting examples.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-20-2008 11:29 AM
тАО03-20-2008 11:29 AM
Re: Vector Processor
Older OpenVMS application environments used the PPL library, though that OpenVMS library has largely been retired.
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.
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.
As for a generic discussion of multicore, SMP and SMT as related to OpenVMS, see:
http://64.223.189.234/node/13
Synchronization and locking:
http://64.223.189.234/node/638
http://64.223.189.234/node/492
Alpha processor caching, shared memory, and memory barriers:
http://64.223.189.234/node/407
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.
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.
Various colleges also now have their courses and course materials on-line. You might check MIT or Harvard or such.
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. http://code.google.com or http://www.google.com. If you want to aim http://www.Google.com 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".
As for other sources for OpenVMS source code, the OpenVMS Frequently Asked Questions (FAQ) (http://www.hoffmanlabs.com/vmsfaq/) 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:
http://www11.itrc.hp.com/service/james/CPQhome.do