{"action":"created","comment":{"url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/comments/87855273","pull_request_review_id":8449596,"id":87855273,"diff_hunk":"@@ -0,0 +1,286 @@\n+# generate the spatial kernel for an n-dimensional wave equation solver\n+include(\"generate_loops.jl\")\n+\n+# This function generates code to solve the n-dimensional \n+# constant coefficient wave equation in first order form, for dimensions 1\n+# to maxdim.  It uses 4th order accuate finite difference stencils.\n+# The function perf_hdindexing5 loops over all dimensions and calls the \n+# function kernel5 to evaluate the stencils at each point.  Dispatch on the\n+# array dimension ties the n different solvers together.\n+function make_stencil(fname, maxdim)\n+# generate kernels and loops for arrays of dimension 2 to maxdim + 1 and write \n+# to file named fname\n+\n+  stencil = [\"1/12\", \"-2/3\", \"0\", \"2/3\", \"-1/12\"]\n+  neq = 2  # number of equations\n+\n+  npts = length(stencil)\n+  nghost = div(npts, 2)\n+\n+  str = generate_kernel(maxdim, stencil, neq)\n+  str *= \"\\n\"\n+  str *= generate_loops(maxdim, npts)\n+  \n+  f = open(fname, \"w\")\n+  println(f, str)\n+  close(f)\n+\n+end\n+\n+\n+function generate_kernel(maxdim, stencil, neq)\n+# maxdim is maximum dimension\n+# stencil is the stencil (vector of strings that are the coefficients)\n+# neq is the number of equations\n+# prefix is prepended to the file name\n+  npts = length(stencil)\n+\n+  str = \"\"\n+  for i=1:maxdim\n+    func_sig = getKernelSignature(i, npts)\n+    str *= func_sig*\"\\n\"\n+\n+    func_prologue = getKernelPrologue(i)\n+    func_prologue = indentString(2, func_prologue)\n+    str *= func_prologue*\"\\n\"\n+\n+    func_body = generate_body(i, stencil, neq)\n+    func_body = indentString(2, func_body)\n+    str *= func_body*\"\\n\"\n+\n+    func_end = getKernelEpilogue()\n+    str *= func_end*\"\\n\"\n+\n+  end\n+\n+  return str\n+end\n+\n+function generate_body(maxdim, stencil, neq)\n+# writes to file kernel_dim_npts\n+# neq is the number of equations in the system\n+\n+  npts = length(stencil)\n+  order = npts - 1\n+  second_line_indent = \" \"^8\n+\n+  str = \"\"\n+\n+\n+  for eq=1:neq  # loop over equations in the system\n+    for dim=1:maxdim\n+      var_name = string(\"u\", dim, dim, \"_\", eq)\n+      stencil_dim = getStencil(maxdim, stencil, dim, eq, second_line_indent)\n+      str *= string(var_name, \" = \", stencil_dim)*\"\\n\"\n+\n+    end\n+  \n+    # sum the results into the receiving arrays\n+    kernel_assembly = getKernelAssembly(maxdim, eq, neq - eq + 1)\n+    str *= kernel_assembly*\"\\n\"\n+  end\n+\n+  return str\n+\n+end\n+\n+\n+function getStencil(maxdim::Integer, stencil, dim::Integer, src_eq::Integer, \n+                    second_line_indent::ASCIIString=\"\")","path":"src/array/generate_kernel.jl","position":89,"original_position":89,"commit_id":"f196e17a48d803ea5fbc8f816152ec768d51571c","original_commit_id":"f196e17a48d803ea5fbc8f816152ec768d51571c","user":{"login":"jrevels","id":3277443,"avatar_url":"https://avatars.githubusercontent.com/u/3277443?v=3","gravatar_id":"","url":"https://api.github.com/users/jrevels","html_url":"https://github.com/jrevels","followers_url":"https://api.github.com/users/jrevels/followers","following_url":"https://api.github.com/users/jrevels/following{/other_user}","gists_url":"https://api.github.com/users/jrevels/gists{/gist_id}","starred_url":"https://api.github.com/users/jrevels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrevels/subscriptions","organizations_url":"https://api.github.com/users/jrevels/orgs","repos_url":"https://api.github.com/users/jrevels/repos","events_url":"https://api.github.com/users/jrevels/events{/privacy}","received_events_url":"https://api.github.com/users/jrevels/received_events","type":"User","site_admin":false},"body":"Can you change `ASCIIString` to `String`?","created_at":"2016-11-14T17:55:56Z","updated_at":"2016-11-14T17:55:56Z","html_url":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40#discussion_r87855273","pull_request_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40","_links":{"self":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/comments/87855273"},"html":{"href":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40#discussion_r87855273"},"pull_request":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40"}}},"pull_request":{"url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40","id":92698093,"html_url":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40","diff_url":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40.diff","patch_url":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40.patch","issue_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/40","number":40,"state":"open","locked":false,"title":"add 6d indexing [WIP]","user":{"login":"JaredCrean2","id":10292902,"avatar_url":"https://avatars.githubusercontent.com/u/10292902?v=3","gravatar_id":"","url":"https://api.github.com/users/JaredCrean2","html_url":"https://github.com/JaredCrean2","followers_url":"https://api.github.com/users/JaredCrean2/followers","following_url":"https://api.github.com/users/JaredCrean2/following{/other_user}","gists_url":"https://api.github.com/users/JaredCrean2/gists{/gist_id}","starred_url":"https://api.github.com/users/JaredCrean2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JaredCrean2/subscriptions","organizations_url":"https://api.github.com/users/JaredCrean2/orgs","repos_url":"https://api.github.com/users/JaredCrean2/repos","events_url":"https://api.github.com/users/JaredCrean2/events{/privacy}","received_events_url":"https://api.github.com/users/JaredCrean2/received_events","type":"User","site_admin":false},"body":"This is my first stab at adding a performance test for JuliaLang/julia#18774, using a 6 dimensional array.  I have a script that auto generates these functions, so I can create as high dimension cases as you want.  I haven't created a benchmark before, so let me know if I need to make any changes.","created_at":"2016-11-08T01:19:54Z","updated_at":"2016-11-14T17:55:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"73e0b9c374aa409916399f491719d5eb52b31b16","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40/commits","review_comments_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40/comments","review_comment_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/40/comments","statuses_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/statuses/f196e17a48d803ea5fbc8f816152ec768d51571c","head":{"label":"JaredCrean2:add6d","ref":"add6d","sha":"f196e17a48d803ea5fbc8f816152ec768d51571c","user":{"login":"JaredCrean2","id":10292902,"avatar_url":"https://avatars.githubusercontent.com/u/10292902?v=3","gravatar_id":"","url":"https://api.github.com/users/JaredCrean2","html_url":"https://github.com/JaredCrean2","followers_url":"https://api.github.com/users/JaredCrean2/followers","following_url":"https://api.github.com/users/JaredCrean2/following{/other_user}","gists_url":"https://api.github.com/users/JaredCrean2/gists{/gist_id}","starred_url":"https://api.github.com/users/JaredCrean2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JaredCrean2/subscriptions","organizations_url":"https://api.github.com/users/JaredCrean2/orgs","repos_url":"https://api.github.com/users/JaredCrean2/repos","events_url":"https://api.github.com/users/JaredCrean2/events{/privacy}","received_events_url":"https://api.github.com/users/JaredCrean2/received_events","type":"User","site_admin":false},"repo":{"id":73135665,"name":"BaseBenchmarks.jl","full_name":"JaredCrean2/BaseBenchmarks.jl","owner":{"login":"JaredCrean2","id":10292902,"avatar_url":"https://avatars.githubusercontent.com/u/10292902?v=3","gravatar_id":"","url":"https://api.github.com/users/JaredCrean2","html_url":"https://github.com/JaredCrean2","followers_url":"https://api.github.com/users/JaredCrean2/followers","following_url":"https://api.github.com/users/JaredCrean2/following{/other_user}","gists_url":"https://api.github.com/users/JaredCrean2/gists{/gist_id}","starred_url":"https://api.github.com/users/JaredCrean2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JaredCrean2/subscriptions","organizations_url":"https://api.github.com/users/JaredCrean2/orgs","repos_url":"https://api.github.com/users/JaredCrean2/repos","events_url":"https://api.github.com/users/JaredCrean2/events{/privacy}","received_events_url":"https://api.github.com/users/JaredCrean2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JaredCrean2/BaseBenchmarks.jl","description":" A collection of Julia benchmarks available for CI tracking from the JuliaLang/julia repository","fork":true,"url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl","forks_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/forks","keys_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/teams","hooks_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/hooks","issue_events_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/issues/events{/number}","events_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/events","assignees_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/assignees{/user}","branches_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/branches{/branch}","tags_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/tags","blobs_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/git/refs{/sha}","trees_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/statuses/{sha}","languages_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/languages","stargazers_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/stargazers","contributors_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/contributors","subscribers_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/subscribers","subscription_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/subscription","commits_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/commits{/sha}","git_commits_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/git/commits{/sha}","comments_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/comments{/number}","issue_comment_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/issues/comments{/number}","contents_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/contents/{+path}","compare_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/merges","archive_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/downloads","issues_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/issues{/number}","pulls_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/pulls{/number}","milestones_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/milestones{/number}","notifications_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/labels{/name}","releases_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/releases{/id}","deployments_url":"https://api.github.com/repos/JaredCrean2/BaseBenchmarks.jl/deployments","created_at":"2016-11-08T01:07:08Z","updated_at":"2016-11-08T01:07:09Z","pushed_at":"2016-11-12T01:53:13Z","git_url":"git://github.com/JaredCrean2/BaseBenchmarks.jl.git","ssh_url":"git@github.com:JaredCrean2/BaseBenchmarks.jl.git","clone_url":"https://github.com/JaredCrean2/BaseBenchmarks.jl.git","svn_url":"https://github.com/JaredCrean2/BaseBenchmarks.jl","homepage":"","size":4243,"stargazers_count":0,"watchers_count":0,"language":"Julia","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"JuliaCI:master","ref":"master","sha":"2f3de40215cf329e917971d1f07961ad8c7e9ac9","user":{"login":"JuliaCI","id":9957604,"avatar_url":"https://avatars.githubusercontent.com/u/9957604?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliaCI","html_url":"https://github.com/JuliaCI","followers_url":"https://api.github.com/users/JuliaCI/followers","following_url":"https://api.github.com/users/JuliaCI/following{/other_user}","gists_url":"https://api.github.com/users/JuliaCI/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliaCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliaCI/subscriptions","organizations_url":"https://api.github.com/users/JuliaCI/orgs","repos_url":"https://api.github.com/users/JuliaCI/repos","events_url":"https://api.github.com/users/JuliaCI/events{/privacy}","received_events_url":"https://api.github.com/users/JuliaCI/received_events","type":"Organization","site_admin":false},"repo":{"id":48191132,"name":"BaseBenchmarks.jl","full_name":"JuliaCI/BaseBenchmarks.jl","owner":{"login":"JuliaCI","id":9957604,"avatar_url":"https://avatars.githubusercontent.com/u/9957604?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliaCI","html_url":"https://github.com/JuliaCI","followers_url":"https://api.github.com/users/JuliaCI/followers","following_url":"https://api.github.com/users/JuliaCI/following{/other_user}","gists_url":"https://api.github.com/users/JuliaCI/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliaCI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliaCI/subscriptions","organizations_url":"https://api.github.com/users/JuliaCI/orgs","repos_url":"https://api.github.com/users/JuliaCI/repos","events_url":"https://api.github.com/users/JuliaCI/events{/privacy}","received_events_url":"https://api.github.com/users/JuliaCI/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/JuliaCI/BaseBenchmarks.jl","description":" A collection of Julia benchmarks available for CI tracking from the JuliaLang/julia repository","fork":false,"url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl","forks_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/forks","keys_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/teams","hooks_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/hooks","issue_events_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/events{/number}","events_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/events","assignees_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/assignees{/user}","branches_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/branches{/branch}","tags_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/tags","blobs_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/git/refs{/sha}","trees_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/statuses/{sha}","languages_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/languages","stargazers_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/stargazers","contributors_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/contributors","subscribers_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/subscribers","subscription_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/subscription","commits_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/commits{/sha}","git_commits_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/git/commits{/sha}","comments_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/comments{/number}","issue_comment_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/comments{/number}","contents_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/contents/{+path}","compare_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/merges","archive_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/downloads","issues_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues{/number}","pulls_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls{/number}","milestones_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/milestones{/number}","notifications_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/labels{/name}","releases_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/releases{/id}","deployments_url":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/deployments","created_at":"2015-12-17T18:26:16Z","updated_at":"2016-11-04T18:06:10Z","pushed_at":"2016-11-12T01:53:14Z","git_url":"git://github.com/JuliaCI/BaseBenchmarks.jl.git","ssh_url":"git@github.com:JuliaCI/BaseBenchmarks.jl.git","clone_url":"https://github.com/JuliaCI/BaseBenchmarks.jl.git","svn_url":"https://github.com/JuliaCI/BaseBenchmarks.jl","homepage":"","size":4252,"stargazers_count":3,"watchers_count":3,"language":"Julia","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":1,"forks":9,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40"},"html":{"href":"https://github.com/JuliaCI/BaseBenchmarks.jl/pull/40"},"issue":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/40"},"comments":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/issues/40/comments"},"review_comments":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40/comments"},"review_comment":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/pulls/40/commits"},"statuses":{"href":"https://api.github.com/repos/JuliaCI/BaseBenchmarks.jl/statuses/f196e17a48d803ea5fbc8f816152ec768d51571c"}}}}
{"actor":{"display_login":"jrevels"}}