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 334
    • Issues 334
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • 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
  • #1469

Closed
Open
Created Oct 13, 2003 by Dietmar Kreye@dkrGuest

MT produces wrong results for complicated with-loop generator layouts

Bugzilla Link 22
Created on Oct 13, 2003 19:34
Resolution FIXED
Resolved on Jul 30, 2011 16:19
Version 1.00beta
OS All
Architecture All
Attachments bug22.sac

Extended Description

Even on single-processor machines (!) MT produces wrong results for complicated
with-loop generator layouts.
**** SAC program to reproduce the error: ******
import StdIO: all;
int main()
{
  A = with (. <= idx <= . step [2,1])
      genarray( [13,7], [1,2,3]);
  B = with (. <= idx <= . step [1,2])  /* or: step [1,1] */
      genarray( [13,7], [4,5,6]);
  C = with (. <= idx <= .)
      modarray( A, idx, A[idx] + B[idx]);
  print( C);
  return( 0);
}
****** sac2c call: *******************
sac2c -mt   (use the OLD backend!!)
****** program call: *****************
a.out -mt 1      -> correct result
a.out -mt 5      -> wrong result
**************************************
With multiple threads used, the result array contains wrong values.
Since this problem occurs even on single-processor machines, it may be caused by
the scheduler which may calculate wrong/illegal iteration bounds for some threads.
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