Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 675
    • Issues 675
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

April 05-07 - Mercurial Paris Conference 2023 - One day of workshop dedicated to Heptapod and Mercurial usage and workflow. There are still places available for both workshops and talks!

  • PyPyPyPy
  • pypypypy
  • Merge requests
  • !343

Vecopt merge

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Bitbucket Importer requested to merge branch/vecopt-merge into branch/default Oct 13, 2015
  • Overview 4
  • Commits 484
  • Pipelines 0
  • Changes 78

Created originally on Bitbucket by plan_rich (Richard Plangger)

I think I got this branch to a state where it can be merged into default. I have re evaluate the speedup, but it gives some on a pypy lldebug build.

It is still default off, so it should not introduce any problems when run without '--jit vec=1' or '--jit vec_all=1'. The first parameter only turns on the optimization for numpypy related jitdrivers, the latter is not yet complete and occasionally crashes with arbitrary traces.

I have several ideas how to improve the optimization even further:

  • Aligned memory (Undo the state modifying operations in the preamble and tweak the index of the peeled loop, a guard protects the pointers to memory)
  • Combine floating point operations. There might be chances that (without unrolling) we could combine floating point operations. If there are many float operations in sequence we could put together two operations into one
  • AVX
  • Python Interp. Loop Signals only checked once

Objections?

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: branch/vecopt-merge