{"action":"created","comment":{"url":"https://api.github.com/repos/ofiwg/libfabric/pulls/comments/52034893","id":52034893,"diff_hunk":"@@ -1,9 +1,205 @@\n [<img alt=\"libfabric master branch Travis CI status\" src=\"https://travis-ci.org/ofiwg/libfabric.svg?branch=master\"/>](https://travis-ci.org/ofiwg/libfabric)\n [<img alt=\"libfabric Coverity scan suild status\" src=\"https://scan.coverity.com/projects/4274/badge.svg\"/>](https://scan.coverity.com/projects/4274)\n \n-libfabric\n-=========\n+# libfabric\n \n-The Open Fabrics Interfaces (OFI) is a framework focused on exporting fabric communication services to applications.\n+The Open Fabrics Interfaces (OFI) is a framework focused on exporting fabric\n+communication services to applications.\n \n-See [the OFI web site](http://ofiwg.github.io/libfabric/) for more details, including a description and overview of the project, and detailed documentation of the libfabric APIs.\n+See [the OFI web site](http://libfabric.org) for more details, including a\n+description and overview of the project, and detailed documentation of the\n+libfabric APIs.\n+\n+## Building libfabric\n+\n+If you are building Libfabric from a developer Git clone, you must first run\n+the `autogen.sh` script. This will invoke the GNU Autotools to bootstrap\n+Libfabric's configuration and build mechanisms. If you are building Libfabric\n+from an official distribution tarball from libfabric.org, there is no need to\n+run `autogen.sh`; Libfabric distribution tarballs are already bootstrapped for\n+you.\n+\n+Libfabric currently supports GNU/Linux, Free BSD, and OS X.\n+\n+### Dependencies\n+\n+- `libpthread`\n+- `libdl`\n+\n+Provider dependencies will be discussed in the the \"Providers\" section.\n+\n+### Configure options\n+\n+Configure ships with many built in options (see `./configure --help`). Some\n+useful options are:\n+\n+```\n+--prefix=<directory>\n+```\n+\n+By default `make install` will place the files into a system wide location.\n+The prefix option specifies that the fabtests files should be installed into\n+the directory named `<directory>`. The executables will be located at\n+`<directory>/bin`.\n+\n+```\n+--with-valgrind=<directory>\n+```\n+\n+Directory where valgrind is installed.If valgrind is found, then valgrind\n+annotations are enabled. This may incur a performance penalty.\n+\n+```\n+--enable-debug\n+```\n+\n+Enable debug code paths. This enables various extra checks and allows for using\n+the highest verbosity logging output that is normally compiled out in\n+production builds.\n+\n+```\n+--enable-<provider>=[yes|no|auto|dl|PATH]\n+--disable-<provider>\n+```\n+\n+This enables or disables the provider named `<provider>`. Each provider is\n+enabled by default. The `dl` option builds the provider as a loadable library\n+and the `PATH` option enables the provider and uses the installation given in\n+`PATH`.\n+\n+### Examples\n+\n+Consider the following example:\n+\n+```\n+$ ./configure --prefix=/opt/libfabric --disable-sockets && make -j 32 && sudo make install\n+```\n+This will tell Libfabric to disable the `sockets` provider, and install\n+Libfabric in the `/opt/libfabric` tree. All other providers will be enabled if\n+possible and all debug features will be disabled.\n+\n+Alternatively:\n+\n+```\n+$ ./configure --prefix=/opt/libfabric --enable-debug --enable-psm=dl && make -j 32 && sudo make install\n+```\n+\n+This will tell Libfabric to enable the `psm` provider as a loadable library,\n+enable all debug code paths, and install Libfabric to the `/opt/libfabric`\n+tree. All other providers will be enabled if possible.\n+\n+\n+## Providers\n+\n+### Sockets\n+\n+***\n+\n+The `sockets` provider is a general purpose provider that can be used on any\n+system that supports TCP sockets.  The provider is not intended to provide\n+performance improvements over regular TCP sockets, but rather to allow\n+developers to write, test, and debug application code even on platforms\n+that do not have high-performance fabric hardware.  The sockets provider\n+supports all libfabric provider requirements and interfaces.\n+\n+See the `fi_sockets(7)` man page for more details.\n+\n+### usNIC\n+\n+***\n+\n+The `usNIC` provider is designed to run over the Cisco VIC (virtualized NIC)\n+hardware on Cisco UCS servers. It utilizes the Cisco usNIC (userspace NIC)\n+capabilities of the VIC to enable ultra low latency and other offload\n+capabilites on Ethernet networks.\n+\n+See the `fi_usnic(7)` man page for more details.\n+\n+#### Dependencies\n+\n+- The `usNIC` provider depends on having either `libnl1` or `libnl3`. If the\n+  provider is being built from source, then the `libnl` header files will need\n+  to be provided (e.g. install the \"--devel\" versions of the package).\n+\n+#### Configure options\n+\n+```\n+--with-libnl=<directory>\n+```\n+\n+If specified, look for libnl support. If it is not found then the `usNIC`\n+provider will not be built. If `<directory>` is specified, then check in the\n+directory and check for `libnl3`. If `libnl3` is not found, then check for\n+`libnl1`. If no `<directory>` argument is specified, then this option is\n+redundant with `--with-usnic` (default).\n+\n+### GNI\n+\n+***\n+\n+The `GNI` provider runs on Cray XC (TM) systems utilizing the user-space\n+Generic Network Interface (`uGNI`) which provides low-level access to\n+the Aries interconnect.  The Aries interconnect is designed for\n+low-latency one-sided messaging and also includes direct hardware\n+support for common atomic operations and optimized collectives.\n+\n+See the `fi_gni(7)` man page for more details.\n+\n+#### Dependencies\n+\n+- The `GNI` provider requires `gcc` version 4.9 or higher.\n+","path":"README.md","position":155,"original_position":155,"commit_id":"5eaad113d107d374733983ef00e83c295a563106","original_commit_id":"5eaad113d107d374733983ef00e83c295a563106","user":{"login":"hppritcha","id":7818666,"avatar_url":"https://avatars.githubusercontent.com/u/7818666?v=3","gravatar_id":"","url":"https://api.github.com/users/hppritcha","html_url":"https://github.com/hppritcha","followers_url":"https://api.github.com/users/hppritcha/followers","following_url":"https://api.github.com/users/hppritcha/following{/other_user}","gists_url":"https://api.github.com/users/hppritcha/gists{/gist_id}","starred_url":"https://api.github.com/users/hppritcha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hppritcha/subscriptions","organizations_url":"https://api.github.com/users/hppritcha/orgs","repos_url":"https://api.github.com/users/hppritcha/repos","events_url":"https://api.github.com/users/hppritcha/events{/privacy}","received_events_url":"https://api.github.com/users/hppritcha/received_events","type":"User","site_admin":false},"body":"there are more dependencies but @sungeunchoi or I can add after the PR is merged","created_at":"2016-02-05T16:08:39Z","updated_at":"2016-02-05T16:08:39Z","html_url":"https://github.com/ofiwg/libfabric/pull/1716#discussion_r52034893","pull_request_url":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716","_links":{"self":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/comments/52034893"},"html":{"href":"https://github.com/ofiwg/libfabric/pull/1716#discussion_r52034893"},"pull_request":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716"}}},"pull_request":{"url":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716","id":58397608,"html_url":"https://github.com/ofiwg/libfabric/pull/1716","diff_url":"https://github.com/ofiwg/libfabric/pull/1716.diff","patch_url":"https://github.com/ofiwg/libfabric/pull/1716.patch","issue_url":"https://api.github.com/repos/ofiwg/libfabric/issues/1716","number":1716,"state":"open","locked":false,"title":"Provide friendly README.","user":{"login":"bturrubiates","id":2322856,"avatar_url":"https://avatars.githubusercontent.com/u/2322856?v=3","gravatar_id":"","url":"https://api.github.com/users/bturrubiates","html_url":"https://github.com/bturrubiates","followers_url":"https://api.github.com/users/bturrubiates/followers","following_url":"https://api.github.com/users/bturrubiates/following{/other_user}","gists_url":"https://api.github.com/users/bturrubiates/gists{/gist_id}","starred_url":"https://api.github.com/users/bturrubiates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bturrubiates/subscriptions","organizations_url":"https://api.github.com/users/bturrubiates/orgs","repos_url":"https://api.github.com/users/bturrubiates/repos","events_url":"https://api.github.com/users/bturrubiates/events{/privacy}","received_events_url":"https://api.github.com/users/bturrubiates/received_events","type":"User","site_admin":false},"body":"This goes with the PR I submitted in fabtests. I tried to add information a short summary of each provider and their dependencies / configure options, but I don't know enough about some of them. If that seems like something that is useful for the README to have then we can always have the other provider maintainers contribute information.\r\n\r\n@jsquyres @shefty \r\n\r\nSigned-off-by: Ben Turrubiates <bturrubi@cisco.com>","created_at":"2016-02-05T07:46:18Z","updated_at":"2016-02-05T16:08:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"783b67ab8f6eb11f175497194862940c6f75c7b3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716/commits","review_comments_url":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716/comments","review_comment_url":"https://api.github.com/repos/ofiwg/libfabric/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ofiwg/libfabric/issues/1716/comments","statuses_url":"https://api.github.com/repos/ofiwg/libfabric/statuses/5eaad113d107d374733983ef00e83c295a563106","head":{"label":"bturrubiates:enhance-readme","ref":"enhance-readme","sha":"5eaad113d107d374733983ef00e83c295a563106","user":{"login":"bturrubiates","id":2322856,"avatar_url":"https://avatars.githubusercontent.com/u/2322856?v=3","gravatar_id":"","url":"https://api.github.com/users/bturrubiates","html_url":"https://github.com/bturrubiates","followers_url":"https://api.github.com/users/bturrubiates/followers","following_url":"https://api.github.com/users/bturrubiates/following{/other_user}","gists_url":"https://api.github.com/users/bturrubiates/gists{/gist_id}","starred_url":"https://api.github.com/users/bturrubiates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bturrubiates/subscriptions","organizations_url":"https://api.github.com/users/bturrubiates/orgs","repos_url":"https://api.github.com/users/bturrubiates/repos","events_url":"https://api.github.com/users/bturrubiates/events{/privacy}","received_events_url":"https://api.github.com/users/bturrubiates/received_events","type":"User","site_admin":false},"repo":{"id":29930238,"name":"libfabric","full_name":"bturrubiates/libfabric","owner":{"login":"bturrubiates","id":2322856,"avatar_url":"https://avatars.githubusercontent.com/u/2322856?v=3","gravatar_id":"","url":"https://api.github.com/users/bturrubiates","html_url":"https://github.com/bturrubiates","followers_url":"https://api.github.com/users/bturrubiates/followers","following_url":"https://api.github.com/users/bturrubiates/following{/other_user}","gists_url":"https://api.github.com/users/bturrubiates/gists{/gist_id}","starred_url":"https://api.github.com/users/bturrubiates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bturrubiates/subscriptions","organizations_url":"https://api.github.com/users/bturrubiates/orgs","repos_url":"https://api.github.com/users/bturrubiates/repos","events_url":"https://api.github.com/users/bturrubiates/events{/privacy}","received_events_url":"https://api.github.com/users/bturrubiates/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bturrubiates/libfabric","description":"Open Fabric Interfaces","fork":true,"url":"https://api.github.com/repos/bturrubiates/libfabric","forks_url":"https://api.github.com/repos/bturrubiates/libfabric/forks","keys_url":"https://api.github.com/repos/bturrubiates/libfabric/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bturrubiates/libfabric/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bturrubiates/libfabric/teams","hooks_url":"https://api.github.com/repos/bturrubiates/libfabric/hooks","issue_events_url":"https://api.github.com/repos/bturrubiates/libfabric/issues/events{/number}","events_url":"https://api.github.com/repos/bturrubiates/libfabric/events","assignees_url":"https://api.github.com/repos/bturrubiates/libfabric/assignees{/user}","branches_url":"https://api.github.com/repos/bturrubiates/libfabric/branches{/branch}","tags_url":"https://api.github.com/repos/bturrubiates/libfabric/tags","blobs_url":"https://api.github.com/repos/bturrubiates/libfabric/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bturrubiates/libfabric/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bturrubiates/libfabric/git/refs{/sha}","trees_url":"https://api.github.com/repos/bturrubiates/libfabric/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bturrubiates/libfabric/statuses/{sha}","languages_url":"https://api.github.com/repos/bturrubiates/libfabric/languages","stargazers_url":"https://api.github.com/repos/bturrubiates/libfabric/stargazers","contributors_url":"https://api.github.com/repos/bturrubiates/libfabric/contributors","subscribers_url":"https://api.github.com/repos/bturrubiates/libfabric/subscribers","subscription_url":"https://api.github.com/repos/bturrubiates/libfabric/subscription","commits_url":"https://api.github.com/repos/bturrubiates/libfabric/commits{/sha}","git_commits_url":"https://api.github.com/repos/bturrubiates/libfabric/git/commits{/sha}","comments_url":"https://api.github.com/repos/bturrubiates/libfabric/comments{/number}","issue_comment_url":"https://api.github.com/repos/bturrubiates/libfabric/issues/comments{/number}","contents_url":"https://api.github.com/repos/bturrubiates/libfabric/contents/{+path}","compare_url":"https://api.github.com/repos/bturrubiates/libfabric/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bturrubiates/libfabric/merges","archive_url":"https://api.github.com/repos/bturrubiates/libfabric/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bturrubiates/libfabric/downloads","issues_url":"https://api.github.com/repos/bturrubiates/libfabric/issues{/number}","pulls_url":"https://api.github.com/repos/bturrubiates/libfabric/pulls{/number}","milestones_url":"https://api.github.com/repos/bturrubiates/libfabric/milestones{/number}","notifications_url":"https://api.github.com/repos/bturrubiates/libfabric/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bturrubiates/libfabric/labels{/name}","releases_url":"https://api.github.com/repos/bturrubiates/libfabric/releases{/id}","deployments_url":"https://api.github.com/repos/bturrubiates/libfabric/deployments","created_at":"2015-01-27T19:13:34Z","updated_at":"2015-04-24T17:14:38Z","pushed_at":"2016-02-05T07:43:47Z","git_url":"git://github.com/bturrubiates/libfabric.git","ssh_url":"git@github.com:bturrubiates/libfabric.git","clone_url":"https://github.com/bturrubiates/libfabric.git","svn_url":"https://github.com/bturrubiates/libfabric","homepage":"http://ofiwg.github.io/libfabric/","size":8586,"stargazers_count":0,"watchers_count":0,"language":"C","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":"ofiwg:master","ref":"master","sha":"0a2d1263841a96ed9bfcd838765b98c6a03ffc59","user":{"login":"ofiwg","id":8459445,"avatar_url":"https://avatars.githubusercontent.com/u/8459445?v=3","gravatar_id":"","url":"https://api.github.com/users/ofiwg","html_url":"https://github.com/ofiwg","followers_url":"https://api.github.com/users/ofiwg/followers","following_url":"https://api.github.com/users/ofiwg/following{/other_user}","gists_url":"https://api.github.com/users/ofiwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ofiwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofiwg/subscriptions","organizations_url":"https://api.github.com/users/ofiwg/orgs","repos_url":"https://api.github.com/users/ofiwg/repos","events_url":"https://api.github.com/users/ofiwg/events{/privacy}","received_events_url":"https://api.github.com/users/ofiwg/received_events","type":"Organization","site_admin":false},"repo":{"id":22996097,"name":"libfabric","full_name":"ofiwg/libfabric","owner":{"login":"ofiwg","id":8459445,"avatar_url":"https://avatars.githubusercontent.com/u/8459445?v=3","gravatar_id":"","url":"https://api.github.com/users/ofiwg","html_url":"https://github.com/ofiwg","followers_url":"https://api.github.com/users/ofiwg/followers","following_url":"https://api.github.com/users/ofiwg/following{/other_user}","gists_url":"https://api.github.com/users/ofiwg/gists{/gist_id}","starred_url":"https://api.github.com/users/ofiwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ofiwg/subscriptions","organizations_url":"https://api.github.com/users/ofiwg/orgs","repos_url":"https://api.github.com/users/ofiwg/repos","events_url":"https://api.github.com/users/ofiwg/events{/privacy}","received_events_url":"https://api.github.com/users/ofiwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ofiwg/libfabric","description":"Open Fabric Interfaces","fork":false,"url":"https://api.github.com/repos/ofiwg/libfabric","forks_url":"https://api.github.com/repos/ofiwg/libfabric/forks","keys_url":"https://api.github.com/repos/ofiwg/libfabric/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ofiwg/libfabric/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ofiwg/libfabric/teams","hooks_url":"https://api.github.com/repos/ofiwg/libfabric/hooks","issue_events_url":"https://api.github.com/repos/ofiwg/libfabric/issues/events{/number}","events_url":"https://api.github.com/repos/ofiwg/libfabric/events","assignees_url":"https://api.github.com/repos/ofiwg/libfabric/assignees{/user}","branches_url":"https://api.github.com/repos/ofiwg/libfabric/branches{/branch}","tags_url":"https://api.github.com/repos/ofiwg/libfabric/tags","blobs_url":"https://api.github.com/repos/ofiwg/libfabric/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ofiwg/libfabric/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ofiwg/libfabric/git/refs{/sha}","trees_url":"https://api.github.com/repos/ofiwg/libfabric/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ofiwg/libfabric/statuses/{sha}","languages_url":"https://api.github.com/repos/ofiwg/libfabric/languages","stargazers_url":"https://api.github.com/repos/ofiwg/libfabric/stargazers","contributors_url":"https://api.github.com/repos/ofiwg/libfabric/contributors","subscribers_url":"https://api.github.com/repos/ofiwg/libfabric/subscribers","subscription_url":"https://api.github.com/repos/ofiwg/libfabric/subscription","commits_url":"https://api.github.com/repos/ofiwg/libfabric/commits{/sha}","git_commits_url":"https://api.github.com/repos/ofiwg/libfabric/git/commits{/sha}","comments_url":"https://api.github.com/repos/ofiwg/libfabric/comments{/number}","issue_comment_url":"https://api.github.com/repos/ofiwg/libfabric/issues/comments{/number}","contents_url":"https://api.github.com/repos/ofiwg/libfabric/contents/{+path}","compare_url":"https://api.github.com/repos/ofiwg/libfabric/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ofiwg/libfabric/merges","archive_url":"https://api.github.com/repos/ofiwg/libfabric/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ofiwg/libfabric/downloads","issues_url":"https://api.github.com/repos/ofiwg/libfabric/issues{/number}","pulls_url":"https://api.github.com/repos/ofiwg/libfabric/pulls{/number}","milestones_url":"https://api.github.com/repos/ofiwg/libfabric/milestones{/number}","notifications_url":"https://api.github.com/repos/ofiwg/libfabric/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ofiwg/libfabric/labels{/name}","releases_url":"https://api.github.com/repos/ofiwg/libfabric/releases{/id}","deployments_url":"https://api.github.com/repos/ofiwg/libfabric/deployments","created_at":"2014-08-15T16:45:53Z","updated_at":"2016-01-22T01:12:38Z","pushed_at":"2016-02-05T07:46:18Z","git_url":"git://github.com/ofiwg/libfabric.git","ssh_url":"git@github.com:ofiwg/libfabric.git","clone_url":"https://github.com/ofiwg/libfabric.git","svn_url":"https://github.com/ofiwg/libfabric","homepage":"http://ofiwg.github.io/libfabric/","size":10271,"stargazers_count":60,"watchers_count":60,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":57,"mirror_url":null,"open_issues_count":72,"forks":57,"open_issues":72,"watchers":60,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716"},"html":{"href":"https://github.com/ofiwg/libfabric/pull/1716"},"issue":{"href":"https://api.github.com/repos/ofiwg/libfabric/issues/1716"},"comments":{"href":"https://api.github.com/repos/ofiwg/libfabric/issues/1716/comments"},"review_comments":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716/comments"},"review_comment":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ofiwg/libfabric/pulls/1716/commits"},"statuses":{"href":"https://api.github.com/repos/ofiwg/libfabric/statuses/5eaad113d107d374733983ef00e83c295a563106"}}}}