Developing FPGA-accelerated cloud applications with SDAccel: Practice

بواسطة: Polimi OPEN KNOWLEDGE

Overview

This course will present several scenarios where the workloads require more performance than can be obtained even by using the fastest CPUs. This scenario is turning cloud and data center architectures toward accelerated computing.

Within this course we are going to show you how to gain benefits by using Xilinx SDAccel to program Amazon EC2 F1 instances.

We are going to do this through a working example of an algorithm used in computational biology.

The huge amount of data they need to process and the complexity of these algorithms, raised the problem of increasing the amount of computational power needed to perform the computation. In this scenario, hardware accelerators revealed to be efficient in achieving a speed-up in the computation while, at the same time, saving power consumption.

Among the algorithms used in computational biology, the Smith-Waterman algorithm is a dynamic programming algorithm, guaranteed to find the optimal local alignment between two strings that could be nucleotides or proteins. In the following classes we presented an analysis and successive FPGA-based hardware acceleration of the Smith-Waterman algorithm used to perform pairwise alignment of DNA sequences.

Within this context, this course is focusing on distributed, heterogeneous cloud infrastructures, providing you details on how to use Xilinx SDAccel, through working examples, to bring your solutions to life by using the Amazon EC2 F1 instances.

 

 

Developing FPGA-accelerated cloud applications with SDAccel: Practice
الذهاب الي الدورة

Developing FPGA-accelerated cloud applications with SDAccel: Practice

بواسطة: Polimi OPEN KNOWLEDGE

  • Polimi OPEN KNOWLEDGE
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version364msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (231ms)
    • Application (132ms)
    • 1 x Booting (63.35%)
      230.56ms
      1 x Application (36.4%)
      132.50ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed7.01ms
      • select * from `courses` where `slug_ar` = 'developing-fpga-accelerated-cloud-applications-with-sdaccel:-practice8Iv' limit 1
        5.28ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. developing-fpga-accelerated-cloud-applications-with-sdaccel:-practice8Iv
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-16 15:17:45' where `id` = 2547
        580μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-16 15:17:45
        • 1. 2547
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (1)
        290μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (55) and `institutions`.`deleted_at` is null
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (48) and `providers`.`deleted_at` is null
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2538 limit 1
        220μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2538
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        2EBM693MoUfX9Kr1UBOs3SwTDU5VqkxHZatTxccb
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/develo...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-fpga-accelerated-cloud-applications-with-sdaccel:-practice8Iv
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.141.14.210" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9314a6ba3e3610d7-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "3.141.14.210" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.141.14.210" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9314a6ba3e3610d7-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.141.14.210" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "16676" "REMOTE_ADDR" => "172.69.59.193" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-fpga-accelerated-cloud-applications-with-sdaccel:-practice8Iv" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744816664.9299 "REQUEST_TIME" => 1744816664 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Wed, 16 Apr 2025 15:17:45 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InR2UldqOG5ObzZERmRJU1QxMWhGNHc9PSIsInZhbHVlIjoiS2FCMFJFM1pPRyt2OVluaWIyNWVDUWJXSDRPNlRPZ3ZjVjRSZTQ2KzdNYkEzN1p3NllBbkxuTEw1ZmdmYWJOaHNndW5pZklwbkJRdFZhbk94Z3pqbFhvVWE2azAva0x5Y2VYVitFRUZtN2daR2t1Y2dXeWU4U25Ockx4VklnbnkiLCJtYWMiOiIxZTdhYjBlYzZiZjIyMmFiOTFmNzEyODI3YjRjMjRhMDYwOGY5Yjk1MjAzNGJjNjg2NGU3ZWMwMzdjMDZlOTc4IiwidGFnIjoiIn0%3D; expires=Wed, 16 Apr 2025 17:17:45 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6InR2UldqOG5ObzZERmRJU1QxMWhGNHc9PSIsInZhbHVlIjoiS2FCMFJFM1pPRyt2OVluaWIyNWVDUWJXSDRPNlRPZ3ZjVjRSZTQ2KzdNYkEzN1p3NllBbkxuTEw1ZmdmYWJOaHNndW5pZ" 1 => "laravel_session=eyJpdiI6IlBMYkpwQm1JZTFtWlREclYvZkZoUUE9PSIsInZhbHVlIjoiaU5mVHdKclRVZzlORWxlZ0hpWTB1bjFFMnp1S01jR2g4d01VVFRNSUlyUWRBZ3RuZklkNGxMOTBrclRSY2FyZks4SWx4THFLV3RwdE83eDVBT2U5aEwyZnQ0S3hhWnljbTh4OXpROTljeVNKSnR3Zi9idEcza2hRWkZCbW83VEgiLCJtYWMiOiJjZjgwN2E1OTk3NzNjYWU4NWQyMTgyNDYyOWUzMzg3NmMwYmZiYjJiYWVjZDJiNzAxNmQwMGQ3MzZiMjk4Yjk4IiwidGFnIjoiIn0%3D; expires=Wed, 16 Apr 2025 17:17:45 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlBMYkpwQm1JZTFtWlREclYvZkZoUUE9PSIsInZhbHVlIjoiaU5mVHdKclRVZzlORWxlZ0hpWTB1bjFFMnp1S01jR2g4d01VVFRNSUlyUWRBZ3RuZklkNGxMOTBrclRSY2FyZks4" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InR2UldqOG5ObzZERmRJU1QxMWhGNHc9PSIsInZhbHVlIjoiS2FCMFJFM1pPRyt2OVluaWIyNWVDUWJXSDRPNlRPZ3ZjVjRSZTQ2KzdNYkEzN1p3NllBbkxuTEw1ZmdmYWJOaHNndW5pZklwbkJRdFZhbk94Z3pqbFhvVWE2azAva0x5Y2VYVitFRUZtN2daR2t1Y2dXeWU4U25Ockx4VklnbnkiLCJtYWMiOiIxZTdhYjBlYzZiZjIyMmFiOTFmNzEyODI3YjRjMjRhMDYwOGY5Yjk1MjAzNGJjNjg2NGU3ZWMwMzdjMDZlOTc4IiwidGFnIjoiIn0%3D; expires=Wed, 16-Apr-2025 17:17:45 GMT; path=/XSRF-TOKEN=eyJpdiI6InR2UldqOG5ObzZERmRJU1QxMWhGNHc9PSIsInZhbHVlIjoiS2FCMFJFM1pPRyt2OVluaWIyNWVDUWJXSDRPNlRPZ3ZjVjRSZTQ2KzdNYkEzN1p3NllBbkxuTEw1ZmdmYWJOaHNndW5pZ" 1 => "laravel_session=eyJpdiI6IlBMYkpwQm1JZTFtWlREclYvZkZoUUE9PSIsInZhbHVlIjoiaU5mVHdKclRVZzlORWxlZ0hpWTB1bjFFMnp1S01jR2g4d01VVFRNSUlyUWRBZ3RuZklkNGxMOTBrclRSY2FyZks4SWx4THFLV3RwdE83eDVBT2U5aEwyZnQ0S3hhWnljbTh4OXpROTljeVNKSnR3Zi9idEcza2hRWkZCbW83VEgiLCJtYWMiOiJjZjgwN2E1OTk3NzNjYWU4NWQyMTgyNDYyOWUzMzg3NmMwYmZiYjJiYWVjZDJiNzAxNmQwMGQ3MzZiMjk4Yjk4IiwidGFnIjoiIn0%3D; expires=Wed, 16-Apr-2025 17:17:45 GMT; path=/; httponlylaravel_session=eyJpdiI6IlBMYkpwQm1JZTFtWlREclYvZkZoUUE9PSIsInZhbHVlIjoiaU5mVHdKclRVZzlORWxlZ0hpWTB1bjFFMnp1S01jR2g4d01VVFRNSUlyUWRBZ3RuZklkNGxMOTBrclRSY2FyZks4" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "2EBM693MoUfX9Kr1UBOs3SwTDU5VqkxHZatTxccb" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/developing-fpga-accelerated-cloud-applications-with-sdaccel:-practice8Iv" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]