{"action":"created","comment":{"url":"https://api.github.com/repos/psi4/psi4/pulls/comments/182583731","pull_request_review_id":113409468,"id":182583731,"diff_hunk":"@@ -75,20 +75,38 @@ std::shared_ptr<JK> JK::build_JK(std::shared_ptr<BasisSet> primary, std::shared_\n         return std::shared_ptr<JK>(jk);\n \n     } else if (jk_type == \"DF\") {\n-        DFJK* jk = new DFJK(primary, auxiliary);\n-\n-        if (options[\"INTS_TOLERANCE\"].has_changed()) jk->set_cutoff(options.get_double(\"INTS_TOLERANCE\"));\n-        if (options[\"PRINT\"].has_changed()) jk->set_print(options.get_int(\"PRINT\"));\n-        if (options[\"DEBUG\"].has_changed()) jk->set_debug(options.get_int(\"DEBUG\"));\n-        if (options[\"BENCH\"].has_changed()) jk->set_bench(options.get_int(\"BENCH\"));\n-        if (options[\"DF_INTS_IO\"].has_changed()) jk->set_df_ints_io(options.get_str(\"DF_INTS_IO\"));\n-        if (options[\"DF_FITTING_CONDITION\"].has_changed())\n-            jk->set_condition(options.get_double(\"DF_FITTING_CONDITION\"));\n-        if (options[\"DF_INTS_NUM_THREADS\"].has_changed())\n-            jk->set_df_ints_num_threads(options.get_int(\"DF_INTS_NUM_THREADS\"));\n-\n-        return std::shared_ptr<JK>(jk);\n+        \n+        if(options.get_str(\"DF_SCF_TYPE\") == \"DFJK\") {","path":"psi4/src/psi4/libfock/jk.cc","position":18,"original_position":18,"commit_id":"412f5c7f689c94ad70500cee23c0a57bc3369e8c","original_commit_id":"bb13693d679d8b04d024514715eae11c2f792cf2","user":{"login":"dgasmith","id":1769841,"avatar_url":"https://avatars2.githubusercontent.com/u/1769841?v=4","gravatar_id":"","url":"https://api.github.com/users/dgasmith","html_url":"https://github.com/dgasmith","followers_url":"https://api.github.com/users/dgasmith/followers","following_url":"https://api.github.com/users/dgasmith/following{/other_user}","gists_url":"https://api.github.com/users/dgasmith/gists{/gist_id}","starred_url":"https://api.github.com/users/dgasmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgasmith/subscriptions","organizations_url":"https://api.github.com/users/dgasmith/orgs","repos_url":"https://api.github.com/users/dgasmith/repos","events_url":"https://api.github.com/users/dgasmith/events{/privacy}","received_events_url":"https://api.github.com/users/dgasmith/received_events","type":"User","site_admin":false},"body":"I really like this logic encoded inside the JK constructor rather than another option that I have to track down so that when I request DF it makes the correct decision for me, but I can overload it if needed. `DF_SCF_TYPE` is going to be difficult as JK is used in many places than just SCF.","created_at":"2018-04-18T22:06:26Z","updated_at":"2018-04-18T22:06:26Z","html_url":"https://github.com/psi4/psi4/pull/961#discussion_r182583731","pull_request_url":"https://api.github.com/repos/psi4/psi4/pulls/961","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/psi4/psi4/pulls/comments/182583731"},"html":{"href":"https://github.com/psi4/psi4/pull/961#discussion_r182583731"},"pull_request":{"href":"https://api.github.com/repos/psi4/psi4/pulls/961"}},"in_reply_to_id":181508237},"pull_request":{"url":"https://api.github.com/repos/psi4/psi4/pulls/961","id":181502173,"html_url":"https://github.com/psi4/psi4/pull/961","diff_url":"https://github.com/psi4/psi4/pull/961.diff","patch_url":"https://github.com/psi4/psi4/pull/961.patch","issue_url":"https://api.github.com/repos/psi4/psi4/issues/961","number":961,"state":"open","locked":false,"title":"Enable faster density fitting","user":{"login":"schiebermc","id":19575820,"avatar_url":"https://avatars3.githubusercontent.com/u/19575820?v=4","gravatar_id":"","url":"https://api.github.com/users/schiebermc","html_url":"https://github.com/schiebermc","followers_url":"https://api.github.com/users/schiebermc/followers","following_url":"https://api.github.com/users/schiebermc/following{/other_user}","gists_url":"https://api.github.com/users/schiebermc/gists{/gist_id}","starred_url":"https://api.github.com/users/schiebermc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schiebermc/subscriptions","organizations_url":"https://api.github.com/users/schiebermc/orgs","repos_url":"https://api.github.com/users/schiebermc/repos","events_url":"https://api.github.com/users/schiebermc/events{/privacy}","received_events_url":"https://api.github.com/users/schiebermc/received_events","type":"User","site_admin":false},"body":"## DESCRIPTION\r\nUsing `DF_Helper`'s density fitting technology, both integral and exchange matrix computations can be sped up for in-core investigations.  I have created a `JK` derived class, `symm_JK`, which wraps the technology of `DF_Helper` and enables its use for J/K building in Psi4.\r\n\r\n## RESULTS\r\nHere are some timing results for entire SCF procedures across various systems, using two different architectures.  Notice that relative speedup between `symm_JK` and `DFJK` improves for non-uniform memory access (NUMA) architectures.\r\n\r\n\r\n![april research update](https://user-images.githubusercontent.com/19575820/38739410-de32a49c-3f02-11e8-9512-c4edc165f259.png)\r\n\r\n![april research update-1](https://user-images.githubusercontent.com/19575820/38739454-f5f0a6e2-3f02-11e8-9196-cdcd97cdcd34.png)\r\n\r\n\r\n## TODO\r\nThe new JK building object, `symm_JK`, will be faster than DFJK for in-core implementations.  However, it will be slower for disk-based implementations.  \r\n- [ ] Add check to figure out which object to use for J/K building. (in-core vs disk)\r\n","created_at":"2018-04-13T14:19:25Z","updated_at":"2018-04-18T22:06:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7f4e13a3e2a1e3df99ee8b1dc946269056e2092b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":{"url":"https://api.github.com/repos/psi4/psi4/milestones/3","html_url":"https://github.com/psi4/psi4/milestone/3","labels_url":"https://api.github.com/repos/psi4/psi4/milestones/3/labels","id":2362493,"number":3,"title":"Psi4 1.2","description":"Milstones for the 1.2.0 release.","creator":{"login":"dgasmith","id":1769841,"avatar_url":"https://avatars2.githubusercontent.com/u/1769841?v=4","gravatar_id":"","url":"https://api.github.com/users/dgasmith","html_url":"https://github.com/dgasmith","followers_url":"https://api.github.com/users/dgasmith/followers","following_url":"https://api.github.com/users/dgasmith/following{/other_user}","gists_url":"https://api.github.com/users/dgasmith/gists{/gist_id}","starred_url":"https://api.github.com/users/dgasmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgasmith/subscriptions","organizations_url":"https://api.github.com/users/dgasmith/orgs","repos_url":"https://api.github.com/users/dgasmith/repos","events_url":"https://api.github.com/users/dgasmith/events{/privacy}","received_events_url":"https://api.github.com/users/dgasmith/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":137,"state":"open","created_at":"2017-03-04T04:00:03Z","updated_at":"2018-04-18T20:37:03Z","due_on":"2018-06-30T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/psi4/psi4/pulls/961/commits","review_comments_url":"https://api.github.com/repos/psi4/psi4/pulls/961/comments","review_comment_url":"https://api.github.com/repos/psi4/psi4/pulls/comments{/number}","comments_url":"https://api.github.com/repos/psi4/psi4/issues/961/comments","statuses_url":"https://api.github.com/repos/psi4/psi4/statuses/412f5c7f689c94ad70500cee23c0a57bc3369e8c","head":{"label":"schiebermc:SYMM_JK","ref":"SYMM_JK","sha":"412f5c7f689c94ad70500cee23c0a57bc3369e8c","user":{"login":"schiebermc","id":19575820,"avatar_url":"https://avatars3.githubusercontent.com/u/19575820?v=4","gravatar_id":"","url":"https://api.github.com/users/schiebermc","html_url":"https://github.com/schiebermc","followers_url":"https://api.github.com/users/schiebermc/followers","following_url":"https://api.github.com/users/schiebermc/following{/other_user}","gists_url":"https://api.github.com/users/schiebermc/gists{/gist_id}","starred_url":"https://api.github.com/users/schiebermc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schiebermc/subscriptions","organizations_url":"https://api.github.com/users/schiebermc/orgs","repos_url":"https://api.github.com/users/schiebermc/repos","events_url":"https://api.github.com/users/schiebermc/events{/privacy}","received_events_url":"https://api.github.com/users/schiebermc/received_events","type":"User","site_admin":false},"repo":{"id":82094652,"name":"psi4","full_name":"schiebermc/psi4","owner":{"login":"schiebermc","id":19575820,"avatar_url":"https://avatars3.githubusercontent.com/u/19575820?v=4","gravatar_id":"","url":"https://api.github.com/users/schiebermc","html_url":"https://github.com/schiebermc","followers_url":"https://api.github.com/users/schiebermc/followers","following_url":"https://api.github.com/users/schiebermc/following{/other_user}","gists_url":"https://api.github.com/users/schiebermc/gists{/gist_id}","starred_url":"https://api.github.com/users/schiebermc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schiebermc/subscriptions","organizations_url":"https://api.github.com/users/schiebermc/orgs","repos_url":"https://api.github.com/users/schiebermc/repos","events_url":"https://api.github.com/users/schiebermc/events{/privacy}","received_events_url":"https://api.github.com/users/schiebermc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/schiebermc/psi4","description":"Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python","fork":true,"url":"https://api.github.com/repos/schiebermc/psi4","forks_url":"https://api.github.com/repos/schiebermc/psi4/forks","keys_url":"https://api.github.com/repos/schiebermc/psi4/keys{/key_id}","collaborators_url":"https://api.github.com/repos/schiebermc/psi4/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/schiebermc/psi4/teams","hooks_url":"https://api.github.com/repos/schiebermc/psi4/hooks","issue_events_url":"https://api.github.com/repos/schiebermc/psi4/issues/events{/number}","events_url":"https://api.github.com/repos/schiebermc/psi4/events","assignees_url":"https://api.github.com/repos/schiebermc/psi4/assignees{/user}","branches_url":"https://api.github.com/repos/schiebermc/psi4/branches{/branch}","tags_url":"https://api.github.com/repos/schiebermc/psi4/tags","blobs_url":"https://api.github.com/repos/schiebermc/psi4/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/schiebermc/psi4/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/schiebermc/psi4/git/refs{/sha}","trees_url":"https://api.github.com/repos/schiebermc/psi4/git/trees{/sha}","statuses_url":"https://api.github.com/repos/schiebermc/psi4/statuses/{sha}","languages_url":"https://api.github.com/repos/schiebermc/psi4/languages","stargazers_url":"https://api.github.com/repos/schiebermc/psi4/stargazers","contributors_url":"https://api.github.com/repos/schiebermc/psi4/contributors","subscribers_url":"https://api.github.com/repos/schiebermc/psi4/subscribers","subscription_url":"https://api.github.com/repos/schiebermc/psi4/subscription","commits_url":"https://api.github.com/repos/schiebermc/psi4/commits{/sha}","git_commits_url":"https://api.github.com/repos/schiebermc/psi4/git/commits{/sha}","comments_url":"https://api.github.com/repos/schiebermc/psi4/comments{/number}","issue_comment_url":"https://api.github.com/repos/schiebermc/psi4/issues/comments{/number}","contents_url":"https://api.github.com/repos/schiebermc/psi4/contents/{+path}","compare_url":"https://api.github.com/repos/schiebermc/psi4/compare/{base}...{head}","merges_url":"https://api.github.com/repos/schiebermc/psi4/merges","archive_url":"https://api.github.com/repos/schiebermc/psi4/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/schiebermc/psi4/downloads","issues_url":"https://api.github.com/repos/schiebermc/psi4/issues{/number}","pulls_url":"https://api.github.com/repos/schiebermc/psi4/pulls{/number}","milestones_url":"https://api.github.com/repos/schiebermc/psi4/milestones{/number}","notifications_url":"https://api.github.com/repos/schiebermc/psi4/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/schiebermc/psi4/labels{/name}","releases_url":"https://api.github.com/repos/schiebermc/psi4/releases{/id}","deployments_url":"https://api.github.com/repos/schiebermc/psi4/deployments","created_at":"2017-02-15T18:50:24Z","updated_at":"2017-02-15T18:50:42Z","pushed_at":"2018-04-18T03:29:37Z","git_url":"git://github.com/schiebermc/psi4.git","ssh_url":"git@github.com:schiebermc/psi4.git","clone_url":"https://github.com/schiebermc/psi4.git","svn_url":"https://github.com/schiebermc/psi4","homepage":"http://psicode.org","size":79916,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"psi4:master","ref":"master","sha":"5862cf6e617c13c53e338eec0ee490ffcc51cb22","user":{"login":"psi4","id":2636883,"avatar_url":"https://avatars1.githubusercontent.com/u/2636883?v=4","gravatar_id":"","url":"https://api.github.com/users/psi4","html_url":"https://github.com/psi4","followers_url":"https://api.github.com/users/psi4/followers","following_url":"https://api.github.com/users/psi4/following{/other_user}","gists_url":"https://api.github.com/users/psi4/gists{/gist_id}","starred_url":"https://api.github.com/users/psi4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psi4/subscriptions","organizations_url":"https://api.github.com/users/psi4/orgs","repos_url":"https://api.github.com/users/psi4/repos","events_url":"https://api.github.com/users/psi4/events{/privacy}","received_events_url":"https://api.github.com/users/psi4/received_events","type":"Organization","site_admin":false},"repo":{"id":9174469,"name":"psi4","full_name":"psi4/psi4","owner":{"login":"psi4","id":2636883,"avatar_url":"https://avatars1.githubusercontent.com/u/2636883?v=4","gravatar_id":"","url":"https://api.github.com/users/psi4","html_url":"https://github.com/psi4","followers_url":"https://api.github.com/users/psi4/followers","following_url":"https://api.github.com/users/psi4/following{/other_user}","gists_url":"https://api.github.com/users/psi4/gists{/gist_id}","starred_url":"https://api.github.com/users/psi4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psi4/subscriptions","organizations_url":"https://api.github.com/users/psi4/orgs","repos_url":"https://api.github.com/users/psi4/repos","events_url":"https://api.github.com/users/psi4/events{/privacy}","received_events_url":"https://api.github.com/users/psi4/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/psi4/psi4","description":"Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python","fork":false,"url":"https://api.github.com/repos/psi4/psi4","forks_url":"https://api.github.com/repos/psi4/psi4/forks","keys_url":"https://api.github.com/repos/psi4/psi4/keys{/key_id}","collaborators_url":"https://api.github.com/repos/psi4/psi4/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/psi4/psi4/teams","hooks_url":"https://api.github.com/repos/psi4/psi4/hooks","issue_events_url":"https://api.github.com/repos/psi4/psi4/issues/events{/number}","events_url":"https://api.github.com/repos/psi4/psi4/events","assignees_url":"https://api.github.com/repos/psi4/psi4/assignees{/user}","branches_url":"https://api.github.com/repos/psi4/psi4/branches{/branch}","tags_url":"https://api.github.com/repos/psi4/psi4/tags","blobs_url":"https://api.github.com/repos/psi4/psi4/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/psi4/psi4/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/psi4/psi4/git/refs{/sha}","trees_url":"https://api.github.com/repos/psi4/psi4/git/trees{/sha}","statuses_url":"https://api.github.com/repos/psi4/psi4/statuses/{sha}","languages_url":"https://api.github.com/repos/psi4/psi4/languages","stargazers_url":"https://api.github.com/repos/psi4/psi4/stargazers","contributors_url":"https://api.github.com/repos/psi4/psi4/contributors","subscribers_url":"https://api.github.com/repos/psi4/psi4/subscribers","subscription_url":"https://api.github.com/repos/psi4/psi4/subscription","commits_url":"https://api.github.com/repos/psi4/psi4/commits{/sha}","git_commits_url":"https://api.github.com/repos/psi4/psi4/git/commits{/sha}","comments_url":"https://api.github.com/repos/psi4/psi4/comments{/number}","issue_comment_url":"https://api.github.com/repos/psi4/psi4/issues/comments{/number}","contents_url":"https://api.github.com/repos/psi4/psi4/contents/{+path}","compare_url":"https://api.github.com/repos/psi4/psi4/compare/{base}...{head}","merges_url":"https://api.github.com/repos/psi4/psi4/merges","archive_url":"https://api.github.com/repos/psi4/psi4/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/psi4/psi4/downloads","issues_url":"https://api.github.com/repos/psi4/psi4/issues{/number}","pulls_url":"https://api.github.com/repos/psi4/psi4/pulls{/number}","milestones_url":"https://api.github.com/repos/psi4/psi4/milestones{/number}","notifications_url":"https://api.github.com/repos/psi4/psi4/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/psi4/psi4/labels{/name}","releases_url":"https://api.github.com/repos/psi4/psi4/releases{/id}","deployments_url":"https://api.github.com/repos/psi4/psi4/deployments","created_at":"2013-04-02T16:21:04Z","updated_at":"2018-04-18T20:37:07Z","pushed_at":"2018-04-18T20:37:03Z","git_url":"git://github.com/psi4/psi4.git","ssh_url":"git@github.com:psi4/psi4.git","clone_url":"https://github.com/psi4/psi4.git","svn_url":"https://github.com/psi4/psi4","homepage":"http://psicode.org","size":80075,"stargazers_count":197,"watchers_count":197,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":165,"mirror_url":null,"archived":false,"open_issues_count":63,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0"},"forks":165,"open_issues":63,"watchers":197,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/psi4/psi4/pulls/961"},"html":{"href":"https://github.com/psi4/psi4/pull/961"},"issue":{"href":"https://api.github.com/repos/psi4/psi4/issues/961"},"comments":{"href":"https://api.github.com/repos/psi4/psi4/issues/961/comments"},"review_comments":{"href":"https://api.github.com/repos/psi4/psi4/pulls/961/comments"},"review_comment":{"href":"https://api.github.com/repos/psi4/psi4/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/psi4/psi4/pulls/961/commits"},"statuses":{"href":"https://api.github.com/repos/psi4/psi4/statuses/412f5c7f689c94ad70500cee23c0a57bc3369e8c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"dgasmith"}}