Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • sac2c sac2c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 336
    • Issues 336
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #1992

Closed
Open
Created Aug 01, 2012 by Miguel Sousa Diogo@msdGuest

UFIV traversal breaking CUDA partial folds

Bugzilla Link 1011
Created on Aug 01, 2012 17:09
Resolution FIXED
Resolved on Aug 02, 2012 16:24
Version svn
OS All
Architecture PC

Extended Description

Compiling SaC code with fold with-loop for the CUDA backend with the CUDA partial folding optimization fails as of rev 18118. I got this error in previous revisions, but I was working on the cudahybrid backend so I though the issue was specific to that. It does not seem to be the case however:
------------------------------------------------
$ sac2c relax_fix.sac -target MBpro_cuda -dopfd
...
** 16: Introducing memory management instructions ...
  **** Unshare index vectors in WL-folds ...
  **** Propagating constants ...
  **** CUDA Flatten generators ...
  **** AUD/SCL distinction ...
  **** Making copy operations explicit ...
  **** Introducing explicit allocation statements  ...
memory/alloc.c:1010 Assertion "( NODE_TYPE( prf) == N_prf && PRF_PRF( prf) == F_cond_wl_assign)" failed!
Result of partial fold is not defined by F_cond_wl_assign
------------------------------------------------
I briefly looked into this and the result of the partial fold is now a F_unshare prf which was introduced 
by the UFIV traversal. I don't know if the assertion is now outdated or if this condition is really necessary. I'm assigning this to Jara, as he committed UFIV according to the svn logs.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking