From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,66af5bf1bc4a00e5 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.233.69 with SMTP id tu5mr935155pbc.6.1334225306291; Thu, 12 Apr 2012 03:08:26 -0700 (PDT) Path: r9ni47340pbh.0!nntp.google.com!news1.google.com!goblin1!goblin.stu.neva.ru!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Thu, 12 Apr 2012 12:07:44 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: "Go Parallel" site ? References: <4c9e614b-06e1-4d53-ba26-0b7a8a1c1064@i2g2000vbd.googlegroups.com> In-Reply-To: <4c9e614b-06e1-4d53-ba26-0b7a8a1c1064@i2g2000vbd.googlegroups.com> Message-ID: <4f86a96e$0$7611$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 12 Apr 2012 12:07:42 CEST NNTP-Posting-Host: 0ec100f0.newsspool1.arcor-online.net X-Trace: DXC=;iEn9?bofn_E47KDAk81NWic==]BZ:af^4Fo<]lROoRQ<`=YMgDjhgRF8Vh=JL_3>[PCY\c7>ejVXS=Q0LH42DQZm0A3ne^X^DZ X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Date: 2012-04-12T12:07:42+02:00 List-Id: On 12.04.12 00:04, Gautier write-only wrote: > For the // specialists, maybe this site is worth a look > http://goparallel.sourceforge.net/ > - also for discussing, comparing, buzzing, etc. ? > Especially from a "already parallel" point of view. Writing Ada so that the programs make good use of the Intel processors' internal parallelism may or may not be straight forward. Using GNAT, results are encouraging for, e.g., FPT <= 64 bit types. No need to do anything special, just ask for SSE using switches. Don't know about other compilers. Distributing sequential processes among processors works well with task, unless there needs to be a massive amount of communication between the processes. Rendezvous is very capable, but also incurs more overhead than more specialized mechanisms when used absurdly often. Beyond that, however, I see little in Ada, the language, that helps with (a) bigger sized FPT operands and SIMD in Intel compatible CPUs, and (b) with catering to the CPU's mechanisms for parallel execution of sets of mutually independent instructions. Is there anything? GNAT has adopted some of GCC's attribute system for types. If a program with type attribute works, then the result is really fast, as may be expected of a parallel, non-communicating programs. If it doesn't work, the programs seem be be slower. What type construction facilities of Ada could be used to say: "Add these two 3D-vectors in parallel?" I understand that one core feature of the Parasail programing language is that looping constructs are considered parallel constructs by default, There's extensive aliasing analysis, so that, IIUC, the programmer gets confirmation from the compiler that the loop is pretty safe if the steps of all iterations are executed in parallel. Isn't this unlike HPF, or OpenMP, that require, IIRC, that the programmer take care of safety?