Skip to content
Permalink
Branch: master
Commits on Jul 22, 2019
  1. Fix a bug: quantization profiling flow with partitioning can only be …

    beicy authored and facebook-github-bot committed Jul 22, 2019
    …enabled when there is no previous registered network in HM. (#3268)
    
    Summary:
    When we enabled quantization profiling flow in Partitioner, we forced Provisioner to be reset. If there are registered networks in HM already, the status will be lost. Therefore, we restrict the quantization profiling flow to only 1 network.
    
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3268
    
    Test Plan:
    ninja test, ./tests/images/run.sh
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D16413045
    
    Pulled By: beicy
    
    fbshipit-source-id: 48ec69563894381ec69f5f7398a7c730c382082b
Commits on Jul 18, 2019
  1. User-defined partition (#3237)

    beicy authored and facebook-github-bot committed Jul 18, 2019
    Summary:
    This PR added user-defined partition flow. Basically, a struct "PartitionConfig" containing the partition info is passed into Partitioner to enable this flow.  Now we let users have the full control of how to do the partitioning.
    To use this flow, users can write their helper function to generate  PartitionConfig, and call Partitioner directly.
    In the following PR, we will add passing PartitionConfig through HostManager from a yaml file.
    
    Related to #2298
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3237
    
    Test Plan:
    Added unittest. ninja test.
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D16345755
    
    Pulled By: beicy
    
    fbshipit-source-id: 64f601004880e1702f5f6eba19d4f5b7749f0864
Commits on Jul 12, 2019
  1. Add quantization profiling flow in Partitioner (#3169)

    beicy authored and facebook-github-bot committed Jul 12, 2019
    Summary:
    This PR if for #3112  : if  "-dump-profile" is enabled, we won't do any partition. Instead, just generate the DAG (with only 1 node) and force the backend to be CPU. HostManager will force all DeviceManagers to be CPUDeviceManager and overwrite Provisioner and Executor.  Therefore, the network will be compiled and run under CPU backend. No change for "-load-profile" flow.
    
    We run resnet50 for testing (see Test Plan)
    
    Documentation:
    
    [Optional Fixes #3112]
    Pull Request resolved: #3169
    
    Test Plan:
    Added test in ./tests/images/run.sh
    
    The following example shows that dump/load quantization profile for resnet50. The profile is generated using CPU backend, while the quantized model in running with Interpreter backend.
    ```
    wangm-mbp:buildR wangm$  ./bin/image-classifier tests/images/imagenet/*.png -image-mode=0to1 -m=resnet50 -model-input-name=gpu_0/data -interpreter-memory=20000 -num-devices=3 -dump-profile="partition_profile.yaml"
    Model: resnet50
    Running 1 thread(s).
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0711 12:45:56.583297 54956032 Partitioner.cpp:1221] Profiling a model to be partitioned cross different backends. Each sub-network will be optimized and run on cpu backend.
     File: tests/images/imagenet/cat_285.png	Label-K1: 285 (probability: 0.5823)
     File: tests/images/imagenet/dog_207.png	Label-K1: 207 (probability: 0.9616)
     File: tests/images/imagenet/zebra_340.png	Label-K1: 340 (probability: 0.9902)
    wangm-mbp:buildR wangm$  ./bin/image-classifier tests/images/imagenet/*.png -image-mode=0to1 -m=resnet50 -model-input-name=gpu_0/data -interpreter-memory=20000 -num-devices=3 -load-profile="partition_profile.yaml"
    Model: resnet50
    Running 1 thread(s).
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0711 12:46:11.744526 9793536 Partitioner.cpp:1346] The number of partitions is : 2, and the DAG is dumped into DAG.dot file.
    I0711 12:46:11.745139 9793536 Partitioner.cpp:69] Writing dotty graph for DAG after graph partitioning: DAG.dot
    I0711 12:46:11.745558 9793536 Partitioner.cpp:1355] 	 Partition 0:
    		 Name :	resnet50_part1
    		 BackendKind :	Interpreter
    		 Memory :	18233280
    		 LogicalDeviceIDs :	0
    I0711 12:46:11.745569 9793536 Partitioner.cpp:1355] 	 Partition 1:
    		 Name :	resnet50_part2
    		 BackendKind :	Interpreter
    		 Memory :	10703512
    		 LogicalDeviceIDs :	1
     File: tests/images/imagenet/cat_285.png	Label-K1: 285 (probability: 0.5565)
     File: tests/images/imagenet/dog_207.png	Label-K1: 207 (probability: 0.9551)
     File: tests/images/imagenet/zebra_340.png	Label-K1: 340 (probability: 0.9890)
    ```
    
    This is for heterogeneous partition testing (using this config file : tests/runtime_test/heterogeneousConfigs.yaml) :
    ```
    wangm-mbp:buildR wangm$ ./bin/image-classifier tests/images/imagenet/*.png -image-mode=0to1 -m=resnet50 -model-input-name=gpu_0/data -load-device-configs="tests/runtime_test/heterogeneousConfigs.yaml" -dump-profile="quantiP.yaml"
    Model: resnet50
    Running 1 thread(s).
    tests/runtime_test/heterogeneousConfigs.yaml
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0710 10:13:13.977905 142221312 Partitioner.cpp:1206] Profiling a model to be partitioned cross different backends. Each sub-network will be optimized and run on cpu backend.
     File: tests/images/imagenet/cat_285.png	Label-K1: 285 (probability: 0.5823)
     File: tests/images/imagenet/dog_207.png	Label-K1: 207 (probability: 0.9616)
     File: tests/images/imagenet/zebra_340.png	Label-K1: 340 (probability: 0.9902)
    wangm-mbp:buildR wangm$ ./bin/image-classifier tests/images/imagenet/*.png -image-mode=0to1 -m=resnet50 -model-input-name=gpu_0/data -load-device-configs="tests/runtime_test/heterogeneousConfigs.yaml" -load-profile="quantiP.yaml"
    Model: resnet50
    Running 1 thread(s).
    tests/runtime_test/heterogeneousConfigs.yaml
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0710 10:13:32.141547 184852480 Partitioner.cpp:1330] The number of partitions is : 3, and the DAG is dumped into DAG.dot file.
    I0710 10:13:32.142370 184852480 Partitioner.cpp:69] Writing dotty graph for DAG after graph partitioning: DAG.dot
    I0710 10:13:32.142781 184852480 Partitioner.cpp:1339] 	 Partition 0:
    		 Name :	resnet50_part1_part1
    		 BackendKind :	CPU
    		 Memory :	26571712
    		 LogicalDeviceIDs :	0
    I0710 10:13:32.142792 184852480 Partitioner.cpp:1339] 	 Partition 1:
    		 Name :	resnet50_part2_part1
    		 BackendKind :	Interpreter
    		 Memory :	1228800
    		 LogicalDeviceIDs :	1
    I0710 10:13:32.142815 184852480 Partitioner.cpp:1339] 	 Partition 2:
    		 Name :	resnet50_part3_part1
    		 BackendKind :	CPU
    		 Memory :	2088600
    		 LogicalDeviceIDs :	0
     File: tests/images/imagenet/cat_285.png	Label-K1: 285 (probability: 0.5676)
     File: tests/images/imagenet/dog_207.png	Label-K1: 207 (probability: 0.9563)
     File: tests/images/imagenet/zebra_340.png	Label-K1: 340 (probability: 0.9893)
    ```
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D16210568
    
    Pulled By: beicy
    
    fbshipit-source-id: be63473b9405fbb10b5d075976667ef9570c16e4
Commits on Jul 2, 2019
  1. Heterogeneous partition testing (#3197)

    beicy authored and facebook-github-bot committed Jul 2, 2019
    Summary:
    Provide an easier way for using heterogeneous partition : user can define which ops not running on which type of backends.
    related to #2814
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3197
    
    Test Plan:
    added unittest;
    ```
    wangm-mbp:buildR wangm$ ./bin/image-classifier tests/images/imagenet/cat_285.png -image-mode=0to1 -m=resnet50 -model-input-name=gpu_0/data -cpu-memory=100000 -load-device-configs="tests/runtime_test/heterogeneousConfigs.yaml"
    Model: resnet50
    Running 1 thread(s).
    tests/runtime_test/heterogeneousConfigs.yaml
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0628 16:12:13.164857 43896832 Partitioner.cpp:1038] The number of partitions is : 3, and the DAG is dumped into DAG.dot file.
    I0628 16:12:13.165649 43896832 Partitioner.cpp:58] Writing dotty graph for DAG after graph partitioning: DAG.dot
    I0628 16:12:13.165989 43896832 Partitioner.cpp:1047] 	 Partition 0:
    		 Name :	resnet50_part1_part1
    		 BackendKind :	CPU
    		 Memory :	94929408
    		 LogicalDeviceIDs :	1
    I0628 16:12:13.166002 43896832 Partitioner.cpp:1047] 	 Partition 1:
    		 Name :	resnet50_part2_part1
    		 BackendKind :	Interpreter
    		 Memory :	409600
    		 LogicalDeviceIDs :	2
    I0628 16:12:13.166026 43896832 Partitioner.cpp:1047] 	 Partition 2:
    		 Name :	resnet50_part3_part1
    		 BackendKind :	CPU
    		 Memory :	8208200
    		 LogicalDeviceIDs :	0
     File: tests/images/imagenet/cat_285.png	Label-K1: 285 (probability: 0.5823)
    ```
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D16098679
    
    Pulled By: beicy
    
    fbshipit-source-id: 943aa78e2ea21c8e0b42ded8a6e69c0b7a076741
Commits on Jun 25, 2019
  1. a few clean up in Partitioner: comments and removing unused items. (#…

    beicy authored and facebook-github-bot committed Jun 25, 2019
    …3168)
    
    Summary:
    A few clean up - comments, removing unused items.
    
    Documentation:
    ninja test.
    [Optional Fixes #issue]
    Pull Request resolved: #3168
    
    Test Plan: Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15988784
    
    Pulled By: beicy
    
    fbshipit-source-id: 3035aeafcbe1e55d7563c55c9e83d326fb1edf19
Commits on Jun 21, 2019
  1. Code refactoring (#3152)

    beicy authored and facebook-github-bot committed Jun 21, 2019
    Summary:
    This is a follow up code refactoring after #3062.  Basically, we use updateGraphMemInfoByAddingNode to update the memory usage of a node set to eliminate some duplicated calculation.
    
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3152
    
    Test Plan:
    ninja test
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15935744
    
    Pulled By: beicy
    
    fbshipit-source-id: a7db3763f8d8c062fe870453904aeff84643bd27
Commits on Jun 20, 2019
  1. Make a function to be const member function in partitioner if possibl…

    beicy authored and facebook-github-bot committed Jun 20, 2019
    …e. (#3150)
    
    Summary:
    This PR is created from the following discussion.
    #3142 (comment)
    
    Basically,  in Partitioner, some functions were not const member function (although it won't modify any value in this class), and they can't be used in const class objects.  This PR marks those functions as const.
    
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3150
    
    Test Plan: Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15926744
    
    Pulled By: beicy
    
    fbshipit-source-id: 1cf5e9a69719efa586f86b68c185d2375c3893b7
  2. partition memory validation (#3142)

    beicy authored and facebook-github-bot committed Jun 20, 2019
    Summary:
    Added partition memory usage validation function.  In current partitioner, we requires that the memory usage of each single node should be less than the device memory. After that , in each step , the algorithm will guarantee that the memory is satisfied.
    This validation can check the case that one single node is too large to fit into one device( e.g. the added unnittest).  The error message is like:
    ```
    [ RUN      ] PartitionerTest.memoryUsageValidation1
    E0619 14:53:38.690162 369878464 Error.h:244] Converting error to boolean: location: /Users/wangm/NewGLOW/glow/lib/Partitioner/Partitioner.cpp:141 message: Partition failed: the memory usage(848) of one partitoion exceeds the available memory(500) of given devices(Interpreter).
    [       OK ] PartitionerTest.memoryUsageValidation1 (1 ms)
    ```
    However, this validation will be more useful in user defined partitions (the feature will be added later) to check if their partition is valid or not.
    
    Documentation:
    
    [Optional Fixes #issue]
    Pull Request resolved: #3142
    
    Test Plan:
    added unnittest, ninja test.
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15915343
    
    Pulled By: beicy
    
    fbshipit-source-id: a960cadd1dc92c025dfacb71cbce8a16693257cc
Commits on Jun 19, 2019
  1. refactoring the way to calculate the memory usage of a node set (#3062)

    beicy authored and facebook-github-bot committed Jun 19, 2019
    Summary:
    Refactoring the way to calculate the memory usage of a node set -- update the memory usage by adding node to the nodes set one by one.
    Will polish the the usage in following PR.
    
    Documentation:
    #2298
    [Optional Fixes #issue]
    Pull Request resolved: #3062
    
    Test Plan:
    Added unnitest.
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15884632
    
    Pulled By: beicy
    
    fbshipit-source-id: 82b434518632d0b5286fc452c08c183fa3f0be5c
  2. Add options to enable logging Partitioner. (#2947)

    beicy authored and facebook-github-bot committed Jun 19, 2019
    Summary:
    Documentation:
    Pull Request resolved: #2947
    
    Test Plan:
    Based on #2946
    ```
    wangm-mbp:buildR wangm$ ./bin/text-translator -m "en2gr" -backend=CPU -cpu-memory=488000 -num-devices=2 -log-partition -dump-partition<<< "I love music ."
    WARNING: Logging before InitGoogleLogging() is written to STDERR
    I0617 11:59:35.063694 400737728 Partitioner.cpp:1032] The number of partitions is : 2, and the DAG is dumped into DAG.dot file.
    I0617 11:59:35.064335 400737728 Partitioner.cpp:73] Writing dotty graph for DAG after graph partitioning: DAG.dot
    I0617 11:59:35.064636 400737728 Partitioner.cpp:1040] 	 Partition 0:
    		 Name :	en2gr_part1
    		 BackendKind :	CPU
    		 Memory :	499281972
    		 LogicalDeviceIDs :	0
    Writing dotty graph for Function to: part_0.dot
    I0617 11:59:35.072763 400737728 Partitioner.cpp:1040] 	 Partition 1:
    		 Name :	en2gr_part2
    		 BackendKind :	CPU
    		 Memory :	406380524
    		 LogicalDeviceIDs :	1
    Writing dotty graph for Function to: part_1.dot
    Enter a sentence in English to translate to German: ich liebe Musik .
    ```
    
    [Optional Fixes #issue]
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15862026
    
    Pulled By: beicy
    
    fbshipit-source-id: 9ded0a679d6ce8aa4512a1e592d455bb6b15fcbf
Commits on Jun 18, 2019
  1. BackendName : No "name" needed in BackendInfo (#3134)

    beicy authored and facebook-github-bot committed Jun 18, 2019
    Summary:
    The "name" field in struct BackendInfo was used to dump BackendName during logging.  Since now we replaced backendKind with backendName, this "name" is not needed any more.
    
    Documentation:
    Ninja test.
    
    [Optional Fixes #issue]
    Pull Request resolved: #3134
    
    Test Plan: Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    
    Differential Revision: D15889469
    
    Pulled By: beicy
    
    fbshipit-source-id: 795cb4bbe1361040802fd03e7cad024b119238ec
Commits on Jun 7, 2019
  1. Use "bool foo()" syntax instead of "auto foo() -> bool" (#3060)

    beicy authored and facebook-github-bot committed Jun 7, 2019
    Summary:
    Documentation:
    ninja test.
    
    [Optional Fixes #issue]
    Pull Request resolved: #3060
    
    Differential Revision: D15711477
    
    Pulled By: beicy
    
    fbshipit-source-id: 6ca7b66c315a98fcf2fc442ba4271e84ed176767
  2. Enable more than one partitions assigned to the same device (#3003)

    beicy authored and facebook-github-bot committed Jun 7, 2019
    Summary:
    The PR allows more than one partitions to be assigned into one device.
    This happens when the number of generated DAGNodes is larger than the number of devices for any backendKind . E.g:
    node1(6GB) -> node2(14GB) -> node3(6GB). The memory limitation is 16GB, and there is only 2 devices. So we assign node1 and node3 into one device.
    Documentation:
    Pull Request resolved: #3003
    
    Differential Revision: D15680542
    
    Pulled By: beicy
    
    fbshipit-source-id: fb945bc84c7a6e3e6160adbec3f2c62b192d9031
Commits on Jun 5, 2019
  1. Handle more than one outputs for a single node when calculating the m…

    beicy authored and facebook-github-bot committed Jun 5, 2019
    …emory usage. (#3047)
    
    Summary:
    This PR fixed the issue described in #2885.
    
    Documentation:
    
    Fixes #2885
    Pull Request resolved: #3047
    
    Differential Revision: D15678629
    
    Pulled By: beicy
    
    fbshipit-source-id: 3cfb4c92c62d6ebe6e53a1a8cc0e49ee6a64ac79
Commits on May 30, 2019
  1. Add config file for Device Config used in Runtime. (#2978)

    beicy authored and facebook-github-bot committed May 30, 2019
    Summary:
    Enable Loader to get device configs from a config yaml file.
    Now there are 2 ways in Loader to get the DeviceConfigs:
    1) If the config file is provided, use the file;
    2) otherwise, use the "num-devices" which is 1 by default.
    
    Documentation:
    Pull Request resolved: #2978
    
    Differential Revision: D15538799
    
    Pulled By: beicy
    
    fbshipit-source-id: 183ff8497bc91a41df29b64393d6cd1cd3d8d6d2
Commits on May 24, 2019
  1. Bug fix: remove duplicated generated "save" node in heterogeneous par…

    beicy authored and facebook-github-bot committed May 24, 2019
    …tition. (#2965)
    
    Summary:
    In Heterogeneous partition, after backendBasedPartition, we got a list of function. Then when we finally create the DAG, it is possible that one input in one function may use the output of another function. In that case, we don't need to generate an "save" node again. i
    
    Documentation:
    Pull Request resolved: #2965
    
    Differential Revision: D15485353
    
    Pulled By: beicy
    
    fbshipit-source-id: c3ed56b53c00aa749ac6fdcd70887396c8204a6a
Commits on May 21, 2019
  1. Add the number of devices to support Runtime end2end testing. (#2946)

    beicy authored and facebook-github-bot committed May 21, 2019
    Summary:
    This PR added an option to allow more than one devices registered  by loader. Therefore, we can do the Runtime end2end test (w/o partitioning) . We use En2gr here as a Runtime e2e test.
    
    Documentation:
    Pull Request resolved: #2946
    
    Differential Revision: D15439818
    
    Pulled By: beicy
    
    fbshipit-source-id: 88a07619e41bae45018383f10d16386c67fd3cf4
  2. Add helper function to dump a DAG after partitioning. (#2936)

    beicy authored and facebook-github-bot committed May 21, 2019
    Summary:
    This PR dump a dot file from the partition result. Since now all functions belong to a function family and they have the same partition, we only dump the one function's partition. For each node, so far we show the function name and the backendKind, which are the most important info in my mind.
    The following is the Heterogeneous partition example:
    ![dag1](https://user-images.githubusercontent.com/37386895/57913545-aa7c7000-7841-11e9-86b7-4fd1c6593fd7.png)
    Documentation:
    Pull Request resolved: #2936
    
    Differential Revision: D15434311
    
    Pulled By: beicy
    
    fbshipit-source-id: 804ede444abe71cd1acbd12f9a9893546e0fa248
Commits on May 20, 2019
  1. Saturating the host can only be enabled for single type of backend. (#…

    beicy authored and facebook-github-bot committed May 20, 2019
    …2930)
    
    Summary:
    To make things simple, we won't consider saturating the host for heterogeneous partition now. If later users requests come, we can improve this part.
    
    Documentation:
    Pull Request resolved: #2930
    
    Differential Revision: D15401984
    
    Pulled By: beicy
    
    fbshipit-source-id: 375b03578b5b39f34e0628a520cf93b2f726a050
Commits on May 15, 2019
  1. Heterogeneous backends partitioning (#2880)

    beicy authored and facebook-github-bot committed May 15, 2019
    Summary:
    *Description*:
    
    This PR adds the feature to support module partitioning for heterogeneous backends.  Please find the discussion in #2687
    
    *Testing*:
    add unit test.
    
    *Documentation*:
    #2687
    [Optional Fixes #issue]
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    Pull Request resolved: #2880
    
    Differential Revision: D15338298
    
    Pulled By: beicy
    
    fbshipit-source-id: ccfdd98f4c9330203de1d00505976ba615ca4b3d
Commits on May 10, 2019
  1. FullyConnectedNodeKind is not supported by Interpreter backend (#2879)

    beicy authored and facebook-github-bot committed May 10, 2019
    Summary:
    *Description*:
    
    For non-quantized FC node, Interpreter::isOpSupported() should return false since this FC node is lowered before isOpSupported check.
    
    *Testing*:
    ninja check, run.sh
    *Documentation*:
    [Optional Fixes #issue]
    
    Please see a detailed explanation of how to fill out the fields in the relevant sections in PULL_REQUEST.md.
    Pull Request resolved: #2879
    
    Differential Revision: D15291734
    
    Pulled By: beicy
    
    fbshipit-source-id: d4f43fc7902b534ff2bc6b87383c0ef255967982
Commits on Apr 17, 2019
  1. [Partitioner] Refactor the initializing partition code.

    beicy committed Apr 15, 2019
Commits on Apr 16, 2019
  1. [Provisioner] Remove NETWORK_PADDING_FACTOR

    beicy committed Apr 16, 2019
Commits on Apr 9, 2019
  1. [Partitioner] If a proper partition is not found, return an error.

    beicy committed Apr 9, 2019
Commits on Apr 5, 2019
  1. [Partitioner] If a node has more than 1 output, create the intermedia…

    beicy committed Apr 4, 2019
    …te ph based on the NodeValue
Commits on Apr 3, 2019
  1. [Partitioner] Fix a bug a remove duplicated children.

    beicy committed Apr 3, 2019
Commits on Mar 21, 2019
  1. [test] Legalize a name when the placeholer is updated by name. (#2569)

    beicy authored and rdzhabarov committed Mar 21, 2019
Commits on Mar 19, 2019
  1. [Partitioner] Polish code and fix a few bugs to make optimization seq…

    beicy committed Feb 26, 2019
    …uence consistent for each run.
Commits on Mar 15, 2019
  1. [Runtime] Use uint64_t for memory size type

    beicy committed Mar 15, 2019
Commits on Mar 9, 2019
  1. [Runtime] Refactor DAGNodeList

    beicy committed Mar 6, 2019
Commits on Feb 27, 2019
  1. [Partitioner] Fix a BFS issue.

    beicy committed Feb 26, 2019
Commits on Feb 13, 2019
  1. [cleanup] To make the type of memory consistent with getSizeInBytes()…

    beicy committed Feb 13, 2019
    … in Type.h
  2. [Graph Partitioner] Improve and polish getBFSLevel function.

    beicy committed Feb 12, 2019
Commits on Feb 11, 2019
  1. [Graph Partitioning] Add optimization to minimize communication cost …

    beicy committed Jan 30, 2019
    …and number of partitions.
Commits on Jan 26, 2019
  1. [Graph Partitioner] Improve initial partitions and updated unittest

    beicy committed Jan 25, 2019
Older
You can’t perform that action at this time.