ISPC 1.9.2 is released

98 views
Skip to first unread message

Dmitry Babokin

unread,
Nov 10, 2017, 11:12:41 PM11/10/17
to ispc-...@googlegroups.com, ispc...@googlegroups.com
Download page: http://ispc.github.io/downloads.html

=== v1.9.2 === (10 November 2017)

An ISPC update, which brings out-of-the-box debug support on Windows,
better performance of most of the targets and a bunch of stability
and performance bug fixes.

The release is based on patched LLVM 5.0 backend.

Windows build is now supports only VS2015 and newer. If you are using earlier
versions, the only known problem that you may encounter is a problem with
"print" ISPC library function.

AVX512 targets are the main beneficiaries of a newer LLVM backend and
demonstrate the biggest performance improvements. SVML support is also
now available on these targets (requires linking by ICC compiler).

Royi

unread,
Aug 16, 2018, 11:41:40 PM8/16/18
to Intel SPMD Program Compiler Users
Dmitry,
2 questions with your permission:
  1. Is there a way to generate object file for Linux and macOS on a Windows Machine?
  2. Does ISPC have plans to support offloading to Inetl iGPU? Does ISPC have plans to support the future Intel Discrete GPU?
Thank You.

Dmitry Babokin

unread,
Aug 17, 2018, 3:01:28 AM8/17/18
to ispc-...@googlegroups.com
Hi Royi,

We are not supporting Linux and MacOS object generation on Windows out of the box. Through technically it's not that difficult to hack ISPC to achieve that. But my suggestion would be to use Docker. For Linux it works like a charm. For MacOS, you probably will need a fully functional VM.

For Intel GPUs (both integrated and discrete), I'm experimenting with it, but can't promise something certain at this point. If it affects your plans for using ISPC, please email me directly.

Dmitry.

--
You received this message because you are subscribed to the Google Groups "Intel SPMD Program Compiler Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ispc-users+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steve Hill

unread,
Aug 17, 2018, 4:37:58 AM8/17/18
to Intel SPMD Program Compiler Users
Hi Royi,

Regarding your point 1, I've produced a cross compiler that produces Linux object files under Windows. The changes are:
  1. In ispc.cpp, change the line 'triple.setTriple(llvm::sys::getDefaultTargetTriple());' to 'triple.setTriple("x86_64--linux-gnu");'
  2. In ispc.vcxproj:
    1. Add '--target=x86_64--linux-gnu' to the clang invocations and add the include paths for your cross compiler headers (in my case this was a GCC cross compiler)
    2. For the m4 invocations, change '-DBUILD_OS=WINDOWS' to '-DBUILD_OS=UNIX'
  3. I had to create an empty file gnu/stubs.h
  4. Change the version string to indicate that this is not the standard compiler
Then you just build the compiler as usual.

HTH,

Steve.

Royi Avital

unread,
Aug 17, 2018, 4:44:58 AM8/17/18
to ispc-...@googlegroups.com
Hi Steve.

Any chance you share a binary of v1.9.2 with this capability?
Any chance for a macOS version as well?

Thank You.

--
You received this message because you are subscribed to a topic in the Google Groups "Intel SPMD Program Compiler Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ispc-users/NvKs2So3FHg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ispc-users+...@googlegroups.com.

Steve Hill

unread,
Aug 17, 2018, 5:03:22 AM8/17/18
to Intel SPMD Program Compiler Users
Hi Royi,

I've no way of producing a MacOS version as we don't target that platform so I have no cross compiler.

I could certainly share the Linux cross compiler but it is not 1.9.2; it is based on a later commit as I needed some other (unrelated) changes accepted into the ISPC codebase for our use-case. Since you will need to produce a MacOS cross-compiler, I suggest that you produce you native and both cross-compilers from the same codebase so you can be sure of the same behaviour.

Steve.
Reply all
Reply to author
Forward
0 new messages