利用多個KL720同時運行來提升算力

我想利用3個KL720平行運算來提升總體的算力,請問這是可行的嗎?

請問哪裡可以找到相關的範例,我在Kneron_PLus_v2.0.1內看到的範例都是單一的KL720.

Tagged:

Comments

  • Hello,

    有關多顆KL720同時使用的部分,目前沒有專門的範例,但相關用法可參考範例"kl720_demo_generic_image_inference_multithread"

    但在連接裝置的部分會有所不同 ( kp_scan_devices() & kp_connect_devices() )

    請將三支dongle / 開發版接上電腦後,透過下面這段程式碼來連接所有KL720


        kp_devices_list_t *list;
    
        list = kp_scan_devices();
        for (int i = 0; i < list->num_dev; i++)
        {
            if (list->device[i].product_id == KP_DEVICE_KL720 && list->device[i].isConnectable)
            {
                if (KP_USB_SPEED_SUPER != list->device[i].link_speed)
                {
                    printf("[error] device on port ID [%d] is not run at super speed.\n", list->device[i].port_id);
                    return -1;
                }
    
                port_ids[i] = list->device[i].port_id;
                num_dev++;
            }
        }
    
        /******* connect the device *******/
        _device = kp_connect_devices(num_dev, port_ids, NULL);
        printf("connect device(s) (num = %d)... %s\n", num_dev, (_device) ? "OK" : "failed");
    
        kp_set_timeout(_device, 5000); // 5 secs timeout
    


    後續輸入的圖片PLUS會自動幫忙分配到不同的KL720上做運算,也就是原本三張圖片在一顆KL720上分次推論的時間,因為平均在三顆KL720上完成,所以只需要一次的時間就可以拿到三筆推論答案。

    也提醒,因為usb傳輸的頻寬有限,當輸入的圖片較大或是同時間連接較多顆KL720時,都有可能因為受限於USB頻寬而導致推論時間比預期來的久。

The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.