Skip to content
Snippets Groups Projects

Incorporate Threadpool in Eigen Core

Reference issue

What does this implement/fix?

Fixes #1044 (closed)

ThreadPool pool(2);
CoreThreadPoolDevice device(pool);
VectorXd a;
VectorXd b;
b.device(device) += a.cwiseAbs2().cwiseSqrt();
b.device(device).noalias() += a.cwiseAbs2().cwiseSqrt(); // useful for matrix products

// backwards compatibility
struct NonSupportedDevice{};
NonSupportedDevice otherDevice;
b.device(otherDevice) += a.cwiseAbs2().cwiseSqrt(); // still works (uses default eigen evaluators)

Additional information

Edited by Charles Schlosser

Merge request reports

Merged by Rasmus Munk LarsenRasmus Munk Larsen May 20, 2024 (May 20, 2024 11:42pm UTC)

Loading

Pipeline #1300040330 failed

Pipeline failed for 99adca8b on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • requested review from @rmlarsen1

  • requested review from @cantonios

  • added 1 commit

    Compare with previous version

  • Charles Schlosser resolved all threads

    resolved all threads

  • added 1 commit

    • ca0077e0 - comments and some more loop types

    Compare with previous version

  • Charles Schlosser resolved all threads

    resolved all threads

  • Charles Schlosser changed the description

    changed the description

  • Charles Schlosser changed the description

    changed the description

  • added 1 commit

    Compare with previous version

  • added 1 commit

    • 64a39bc3 - dont bother threading head and tail of linear vectorized traversal

    Compare with previous version

  • added 1 commit

    • 74b0a459 - make threadcost a runtime variable

    Compare with previous version

  • added 1 commit

    • ff1f91ff - use gemm/v products by default

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading