This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH 1/n] OpenMP 4.0 offloading infrastructure
- From: Iain Sandoe <iain at codesourcery dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: Mike Stump <mikestump at comcast dot net>, Jakub Jelinek <jakub at redhat dot com>, <gcc-patches at gcc dot gnu dot org>, Bernd Schmidt <bernds at codesourcery dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>, Ilya Verbin <iverbin at gmail dot com>
- Date: Sat, 21 Feb 2015 11:47:41 +0000
- Subject: Re: [PATCH 1/n] OpenMP 4.0 offloading infrastructure
- Authentication-results: sourceware.org; auth=none
- References: <20140915165227 dot GB48540 at msticlxl57 dot ims dot intel dot com> <20140917134558 dot GG17454 at tucnak dot redhat dot com> <20140926123551 dot GA6892 at msticlxl57 dot ims dot intel dot com> <877fvedteh dot fsf at schwinge dot name> <20150220143612 dot GA56550 at msticlxl57 dot ims dot intel dot com> <5D8BE5CC-DB14-4F17-B39A-5EFDA0DE5403 at comcast dot net> <87sie0l61h dot fsf at schwinge dot name>
On 20 Feb 2015, at 19:46, Thomas Schwinge wrote:
> On Fri, 20 Feb 2015 11:35:18 -0800, Mike Stump <firstname.lastname@example.org> wrote:
>> On Feb 20, 2015, at 6:36 AM, Ilya Verbin <email@example.com> wrote:
>>> I assumed that nobody would build an offloading compiler with --enable-languages
>>> other than c,c++,fortran[,lto].
>> :-) You should try objc and obj-c++… With some luck, they might just work out of the box.
> At least objc does build indeed (gets enabled by default if
> --enable-languages is not explicitly specified). Now we just need
> someone to write additional OpenACC/OpenMP test cases... Are you or Iain
> interested (in doing that)? ;-D
Well, the mantra is "Objective-C,C++ are supersets of the underlying languages".
So, for a first cut, it should be possible to run all the existing C and C++ testcases with -x objective-c,c++ respectively. If that doesn't work as expected - we should examine why (and identify any restrictions that apply). Do you want to try that (at least once manually) to see if there are any show-stoppers? (I don't have an accelerated setup here).
That should be adequate, for now at least, since there are currently no Objective-C family-specific OpenAcc or OpenMP clauses (AFAIU).
FWIW, I, for one, have implemented real-time signal processing and data collection systems in Objective-C (a useful thin wrapper to get access to GUI features, without slowing the actual work down). So, it seems reasonable that acceleration capabilities will be interesting to (at least some) Objective-C users.
As for the future (i.e. should the Objective C family support extra capabilities in this area), IMO, unless we see some killer capability that is a "must have" (for stage #1 of course), then let's leave the lead on language features to the "defining implementation" (i.e. clang). TBH, we are somewhat behind on Objective-C in any event, catching up to modern capabilities is a higher priority for me.