{"action":"created","issue":{"url":"https://api.github.com/repos/flame/blis/issues/43","repository_url":"https://api.github.com/repos/flame/blis","labels_url":"https://api.github.com/repos/flame/blis/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/flame/blis/issues/43/comments","events_url":"https://api.github.com/repos/flame/blis/issues/43/events","html_url":"https://github.com/flame/blis/issues/43","id":137492134,"number":43,"title":"BLIS should allow simultaneously exporting both 32- and 64-bit variants of BLAS/CBLAS","user":{"login":"njsmith","id":609896,"avatar_url":"https://avatars.githubusercontent.com/u/609896?v=3","gravatar_id":"","url":"https://api.github.com/users/njsmith","html_url":"https://github.com/njsmith","followers_url":"https://api.github.com/users/njsmith/followers","following_url":"https://api.github.com/users/njsmith/following{/other_user}","gists_url":"https://api.github.com/users/njsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/njsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/njsmith/subscriptions","organizations_url":"https://api.github.com/users/njsmith/orgs","repos_url":"https://api.github.com/users/njsmith/repos","events_url":"https://api.github.com/users/njsmith/events{/privacy}","received_events_url":"https://api.github.com/users/njsmith/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2016-03-01T07:07:05Z","updated_at":"2016-03-01T23:32:26Z","closed_at":null,"body":"The de facto standard is that the standard BLAS/CBLAS functions take 32-bit integers in their API. Julia experimented with changing this so that they could use 64-bit integers in their main BLAS wrappers, and this worked great for a little while until they discovered that when people started trying to link in other existing BLAS-using code, this code was assuming that BLAS uses 32-bit integers and was causing segfaults. Their solution was to continue to use a 64-bit integer version of BLAS, but with symbols renamed to avoid collisions (so e.g. `dgemm_` uses 32-bit integers, and `dgemm_64_` uses 64-bit integers... [edited to get the 64-bit symbol names correct])\r\n\r\nAs mentioned in https://github.com/flame/blis/pull/37#issuecomment-190572923 , it would be great if a single BLIS library could export both 32- and 64-bit versions of these symbols simultaneously. It doesn't look like this would be too hard, since both the BLAS2BLIS interface is already generated using C preprocessor magic, and the CBLAS wrapper is already getting programmatically patched..."},"comment":{"url":"https://api.github.com/repos/flame/blis/issues/comments/190965568","html_url":"https://github.com/flame/blis/issues/43#issuecomment-190965568","issue_url":"https://api.github.com/repos/flame/blis/issues/43","id":190965568,"user":{"login":"tkelman","id":5934628,"avatar_url":"https://avatars.githubusercontent.com/u/5934628?v=3","gravatar_id":"","url":"https://api.github.com/users/tkelman","html_url":"https://github.com/tkelman","followers_url":"https://api.github.com/users/tkelman/followers","following_url":"https://api.github.com/users/tkelman/following{/other_user}","gists_url":"https://api.github.com/users/tkelman/gists{/gist_id}","starred_url":"https://api.github.com/users/tkelman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkelman/subscriptions","organizations_url":"https://api.github.com/users/tkelman/orgs","repos_url":"https://api.github.com/users/tkelman/repos","events_url":"https://api.github.com/users/tkelman/events{/privacy}","received_events_url":"https://api.github.com/users/tkelman/received_events","type":"User","site_admin":false},"created_at":"2016-03-01T23:32:26Z","updated_at":"2016-03-01T23:32:26Z","body":"It's not \"wrong\" per se, just a consequence of how we implemented it. We apply a suffix uniformly to all symbols in the library, after the gfortran manglong rather than before. Looks funny, but just easier to deal with."}}