Man page - ispc(1)
Packages contas this manual
Manual
| ispc(1) | General Commands Manual | ispc(1) |
NAME
ispc - Intel Implicit SPMD Program Compiler
SYNOPSIS
ispc [options] file
DESCRIPTION
ispc is a compiler for a variant of the C programming language, with extensions for single program, multiple data programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.
OPTIONS
- --addressing {32,64}
- Select 32- or 64-bit addressing. (Note that 32-bit addressing calculations are done by default, even on 64-bit target architectures.)
- --arch {x86, x86-64, arm, aarch64, wasm32}
- Select target architecture
- --colored-output
- Always use terminal colors in error/warning messages
- --cpu <type>
- An alias for --device <type> switch
- -D <foo>
- #define given value when running preprocessor
- --dev-stub <filename>
- Emit device-side offload stub functions to file
- --device <type>
- Select target device
<type> = { x86-64 , atom (synonyms: bonnell ), core2, penryn, corei7 (synonyms: nehalem ), btver2 (synonyms: ps4 ), corei7-avx (synonyms: sandybridge ), core-avx-i (synonyms: ivybridge ), core-avx2 (synonyms: haswell ), broadwell, skylake, knl, skx, icelake-client (synonyms: icl ), slm (synonyms: silvermont ), icelake-server (synonyms: icx ), tigerlake (synonyms: tgl ), alderlake (synonyms: adl ), sapphirerapids (synonyms: spr ), znver1, znver2 (synonyms: ps5 ), znver3, cortex-a9, cortex-a15, cortex-a35, cortex-a53, cortex-a57, apple-a7, apple-a10, apple-a11, apple-a12, apple-a13, apple-a14 }
- --dllexport
- Make non-static functions DLL exported. Windows target only
- --dwarf-version {2,3,4}
- Generate source-level debug information with given DWARF version (triggers -g ). Ignored for Windows target
- -E
- Run only the preprocessor
- --emit-asm
- Generate assembly language file as output
- --emit-llvm
- Emit LLVM bitcode file as output
- --emit-llvm-text
- Emit LLVM bitcode file as output in textual form
- --emit-obj
- Generate object file file as output (default)
- --enable-llvm-intrinsics
- Enable experimental feature to call LLVM intrinsics from ISPC source code
- --error-limit <value>
- Limit maximum number of errors emitting by ISPC to <value>
- --force-alignment <value>
- Force alignment in memory allocations routine to be <value>
- -g
- Generate source-level debug information
- --help
- Print help
- --help-dev
- Print help for developer options
- --host-stub <filename>
- Emit host-side offload stub functions to file
- -h <name> / --header-outfile <name>
- Output filename for header
- -I <path>
- Add <path> to #include file search path
- --ignore-preprocessor-errors
- Suppress errors from the preprocessor
- --instrument
- Emit instrumentation to gather performance data
- --math-lib <option>
- Select math library
- -MMM <filename>
- Write #include dependencies to given file.
- -M
- Output a rule suitable for make describing the dependencies of the main source file to stdout.
- -MF <filename>
- When used with -M, specifies a file to write the dependencies to.
- -MT <filename>
- When used with -M, changes the target of the rule emitted by dependency generation.
- --no-omit-frame-pointer
- Disable frame pointer omission. It may be useful for profiling
- --nostdlib
- Don't make the ispc standard library available
- --no-pragma-once
- Don't use #pragma once in created headers
- --nocpp
- Don't run the C preprocessor
- -o<name>/--outfile <name>
- Output filename (may be "-" for standard output)
- -O0/-O(1/2/3)
- Set optimization level. Default behavior is to optimize for speed.
- --opt <option>
- Set optimization option
- disable-assertions
- Remove assertion statements from final code.
- disable-fma
- Disable 'fused multiply-add' instructions (on targets that support them)
- disable-loop-unroll
- Disable loop unrolling.
- disable-zmm
- Disable using zmm registers for avx512 targets in favour of ymm. This also affects ABI.
- fast-masked-vload
- Faster masked vector loads on SSE (may go past end of array)
- fast-math
- Perform non-IEEE-compliant optimizations of numeric expressions
- force-aligned-memory
- Always issue "aligned" vector load and store instructions
- --pic
- Generate position-independent code. Ignored for Windows target
- --quiet
- Suppress all output
- --support-matrix
- Print full matrix of supported targets, architectures and OSes
- --target <t>
- Select target ISA and width. <t> ={ sse2-i32x4, sse2-i32x8, sse4-i8x16, sse4-i16x8, sse4-i32x4, sse4-i32x8, avx1-i32x4, avx1-i32x8, avx1-i32x16, avx1-i64x4, avx2-i8x32, avx2-i16x16, avx2-i32x4, avx2-i32x8, avx2-i32x16, avx2-i64x4, avx512knl-x16, avx512skx-x4, avx512skx-x8, avx512skx-x16, avx512skx-x32, avx512skx-x64, neon-i8x16, neon-i16x8, neon-i32x4, neon-i32x8, wasm-i32x4 }
- --target-os <os>
- Select target OS. <os> ={ linux, custom_linux, freebsd, android, web }
- --time-trace
- Turn on time profiler. Generates JSON file based on output filename.
- --time-trace-granularity <value>
- Minimum time granularity (in microseconds) traced by time profiler.
- --vectorcall/--no-vectorcall
- Enable/disable vectorcall calling convention on Windows (x64 only). Disabled by default
- --version
- Print ispc version
- --werror
- Treat warnings as errors
- --woff
- Disable warnings
- --wno-perf
- Don't issue warnings related to performance-related issues
- --x86-asm-syntax <option>
- Select style of code if generating assembly
SEE ALSO
https://ispc.github.io/
AUTHOR
ispc is written by Intel Corporation.
This manual page was written by Yangfl for the Debian Project (and may be used by others).