{"action":"created","issue":{"url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/255","labels_url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/255/labels{/name}","comments_url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/255/comments","events_url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/255/events","html_url":"https://github.com/AccelerateHS/accelerate/issues/255","id":64693292,"number":255,"title":"Program goes into infinite loop","user":{"login":"yongqli","id":67243,"avatar_url":"https://avatars.githubusercontent.com/u/67243?v=3","gravatar_id":"","url":"https://api.github.com/users/yongqli","html_url":"https://github.com/yongqli","followers_url":"https://api.github.com/users/yongqli/followers","following_url":"https://api.github.com/users/yongqli/following{/other_user}","gists_url":"https://api.github.com/users/yongqli/gists{/gist_id}","starred_url":"https://api.github.com/users/yongqli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yongqli/subscriptions","organizations_url":"https://api.github.com/users/yongqli/orgs","repos_url":"https://api.github.com/users/yongqli/repos","events_url":"https://api.github.com/users/yongqli/events{/privacy}","received_events_url":"https://api.github.com/users/yongqli/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-03-27T04:50:47Z","updated_at":"2015-03-27T10:14:45Z","closed_at":null,"body":"It keeps throwing these exceptions over and over:\r\n\r\n    *** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace:\r\n      Data.Array.Accelerate.CUDA.Persistent.new,\r\n      called from Data.Array.Accelerate.CUDA.State.theState,\r\n      called from Data.Array.Accelerate.CUDA.State.CAF\r\n    *** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace:\r\n      Data.Array.Accelerate.CUDA.Persistent.new,\r\n      called from Data.Array.Accelerate.CUDA.State.theState,\r\n      called from Data.Array.Accelerate.CUDA.State.CAF\r\n      --> evaluated by: Data.Array.Accelerate.CUDA.State.memoryTable,\r\n      called from Data.Array.Accelerate.CUDA.State.>>=,\r\n      called from Data.Array.Accelerate.CUDA.Array.Data.useArrayAsync,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compileOpenAcc.traverseAcc.use,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compileOpenAcc.traverseAcc,\r\n      called from Data.Array.Accelerate.CUDA.State.fmap,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compileOpenAfun,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA.action,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA,\r\n      called from Data.Array.Accelerate.CUDA.run1AsyncWith,\r\n      called from Data.Array.Accelerate.CUDA.run1With.go,\r\n      called from Data.Array.Accelerate.CUDA.run1With,\r\n      called from Data.Array.Accelerate.CUDA.run1,\r\n\r\n\r\n    *** Exception (reporting due to +RTS -xc): (IND_STATIC), stack trace:\r\n      Data.Array.Accelerate.CUDA.Array.Table.malloc,\r\n      called from Data.Array.Accelerate.Array.Memory.Table.malloc.attempt,\r\n      called from Data.Array.Accelerate.Array.Memory.Table.malloc.orElse,\r\n      called from Data.Array.Accelerate.Array.Memory.Table.malloc,\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.mallocWithUsage.malloc',\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.mallocWithUsage,\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.malloc.\\,\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.withMVar'.\\,\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.withMVar',\r\n      called from Data.Array.Accelerate.Array.Memory.Cache.malloc,\r\n      called from Data.Array.Accelerate.CUDA.Array.Cache.malloc,\r\n      called from Data.Array.Accelerate.CUDA.Array.Prim.mallocArray,\r\n      called from Data.Array.Accelerate.CUDA.Array.Data.mallocArray.doMalloc.mallocPrim,\r\n      called from Data.Array.Accelerate.CUDA.Array.Data.mallocArray.doMalloc.mallocR,\r\n      called from Data.Array.Accelerate.CUDA.Array.Data.mallocArray.doMalloc,\r\n      called from Data.Array.Accelerate.CUDA.State.liftIO,\r\n      called from Data.Array.Accelerate.CUDA.Array.Data.mallocArray,\r\n      called from Data.Array.Accelerate.CUDA.State.>>=,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA.action,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA,\r\n      called from Data.Array.Accelerate.CUDA.run1AsyncWith.execute,\r\n      called from Data.Array.Accelerate.CUDA.Async.async,\r\n      called from Data.Array.Accelerate.CUDA.run1AsyncWith.\\,\r\n      called from Data.Array.Accelerate.CUDA.run1AsyncWith,\r\n      called from Data.Array.Accelerate.CUDA.run1With.go,\r\n      called from Data.Array.Accelerate.CUDA.run1With.\\,\r\n      called from Data.Array.Accelerate.CUDA.run1With,\r\n      called from Data.Array.Accelerate.CUDA.run1,\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/comments/86889459","html_url":"https://github.com/AccelerateHS/accelerate/issues/255#issuecomment-86889459","issue_url":"https://api.github.com/repos/AccelerateHS/accelerate/issues/255","id":86889459,"user":{"login":"yongqli","id":67243,"avatar_url":"https://avatars.githubusercontent.com/u/67243?v=3","gravatar_id":"","url":"https://api.github.com/users/yongqli","html_url":"https://github.com/yongqli","followers_url":"https://api.github.com/users/yongqli/followers","following_url":"https://api.github.com/users/yongqli/following{/other_user}","gists_url":"https://api.github.com/users/yongqli/gists{/gist_id}","starred_url":"https://api.github.com/users/yongqli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yongqli/subscriptions","organizations_url":"https://api.github.com/users/yongqli/orgs","repos_url":"https://api.github.com/users/yongqli/repos","events_url":"https://api.github.com/users/yongqli/events{/privacy}","received_events_url":"https://api.github.com/users/yongqli/received_events","type":"User","site_admin":false},"created_at":"2015-03-27T10:14:45Z","updated_at":"2015-03-27T10:14:45Z","body":"It seems that I spoke too soon when I claimed that the program goes into \"infinite loop\". Eventually the compilation finishes and the program continues to run. Meanwhile, a bunch of exceptions like the below are generated. It seems that a bunch of threads tries to compile at the same time, and end up stepping over each other? If I run with only one thread the exceptions are much fewer and the compilation time seems less overall.\r\n\r\n\r\n    *** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace:\r\n      Data.Array.Accelerate.CUDA.Persistent.persist.\\,\r\n      called from Data.Array.Accelerate.CUDA.Persistent.persist,\r\n      called from Data.Array.Accelerate.CUDA.Compile.link,\r\n      called from Data.Array.Accelerate.CUDA.Compile.build1.(...),\r\n      called from Data.Array.Accelerate.CUDA.Compile.build1,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compileOpenAcc.traverseAcc,\r\n      called from Data.Array.Accelerate.CUDA.State.>>=,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA.action,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA,\r\n      called from Data.Array.Accelerate.CUDA.runAsyncWith.execute,\r\n      called from Data.Array.Accelerate.CUDA.Async.async,\r\n      called from Data.Array.Accelerate.CUDA.runAsyncWith,\r\n      called from Data.Array.Accelerate.CUDA.runWith,\r\n      called from Data.Array.Accelerate.CUDA.run,\r\n\r\n\r\n    *** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace:\r\n      Paths_accelerate_cuda.catchIO,\r\n      called from Paths_accelerate_cuda.getDataDir,\r\n      called from Data.Array.Accelerate.CUDA.State.liftIO,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compile,\r\n      called from Data.Array.Accelerate.CUDA.Compile.build1,\r\n      called from Data.Array.Accelerate.CUDA.Compile.compileOpenAcc.traverseAcc,\r\n      called from Data.Array.Accelerate.CUDA.State.>>=,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA.action,\r\n      called from Data.Array.Accelerate.CUDA.State.evalCUDA,\r\n      called from Data.Array.Accelerate.CUDA.runAsyncWith.execute,\r\n      called from Data.Array.Accelerate.CUDA.Async.async,\r\n      called from Data.Array.Accelerate.CUDA.runAsyncWith,\r\n      called from Data.Array.Accelerate.CUDA.runWith,\r\n      called from Data.Array.Accelerate.CUDA.run,\r\n      "}}