stan-dev / stan-dev/math

Feature Request: support for Intel icpc

Open
#1,160 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
839
Forks
220
Avg merge
2d 4h
Merged PRs (30d)
14

Description

Description

Intel C++ compiler (icpc) should be supported, together with the "-xHost" compiler option to generate instructions for the highest instruction set and processor available on the compilation host machine.

Example

In make/default_compiler_options set

    CC=icpc

Currently, since the optimization flag only sets the integer optimization level, there is no mechanism for adding other optimization options (e.g. for code generation).

Expected Output

Example with Intel Composer XE 2019u1:

Stan Math makefile:
  Current configuration:
  - OS_TYPE (Operating System):  linux
  - CC (Compiler):               icpc
  - CC_TYPE                      intel
  - Compiler version:            19.0.1.144 20181018
  - O (Optimization Level):      3
Current Version:

v2.18.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in make/default_compiler_options and trace how the compiler is identified and optimization options are assembled. Check how an icpc build should report CC_TYPE and compiler version, and how -xHost would be supplied. Done means the example configuration produces the expected Intel compiler output and supports the requested option.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.