Forum Discussion

Madhu-Raghupatruni's avatar
Madhu-Raghupatruni
Icon for New Contributor rankNew Contributor
2 years ago
Solved

Intel HLS migration to oneAPI

On the Intel® High Level Synthesis Compiler Pro Edition Version 22.4 Release Notes, it was warned that "Intel® High Level Synthesis (HLS) Compiler is planned to be deprecated after Version 23.4.
Visit the Intel® oneAPI product page for migration advice, or go to the Intel® High Level Design community forum for any questions or requests."

When i visited the oneAPI product page, could not find any migration advice. Requesting you for the right links, pointers and documents to what is required to migrate source code written for compiling with i++ to migrate to oneAPI based high level synthesis. Since, it is c++ project
are there any migration tools available that we can take advantage of ? I also need to see the generated code to further optimize, so is there any option in aoc to generate rtl in the intermediate step that can be used as quartus project ?

  • Hi,

    i shared wiki link to you in mail. please check that article. maybe it helps you.

12 Replies

  • hareesh's avatar
    hareesh
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,

    i shared wiki link to you in mail. please check that article. maybe it helps you.

    • Madhu-Raghupatruni's avatar
      Madhu-Raghupatruni
      Icon for New Contributor rankNew Contributor

      The document mentioned https://www.intel.com/content/www/us/en/docs/oneapi/developer-guide-migrate-system-studio-oneapi/202... has no reference to Intel High Level Synthesis compiler (ihs or i++ popularly known as) at all.

      I am looking for migration from projects/source code written in Intel High Level Synthesis (hls, i++ compiler) to oneapi based dpc++.

      The intel high level synthesis is at : https://www.intel.com/content/www/us/en/docs/programmable/683680/22-4/pro-edition-getting-started-guide.html

      [ The Intel® High Level Synthesis (HLS) Compiler is a separately-installable component of Intel® Quartus® Prime Pro Edition design software. The Intel® HLS Compiler synthesizes a C++ function into an RTL implementation that is optimized for Intel® FPGA products. The compiler is sometimes referred to as the i++ compiler, reflecting the name of the compiler command.

      The Intel® High Level Synthesis Compiler Pro Edition Getting Started Guide describes the procedures to set up the Intel® HLS Compiler and to run an HLS design example. ]

      The release note of the above compiler : https://www.intel.com/content/www/us/en/docs/programmable/683682/22-4/pro-edition-version-release-notes.html

      [ The Intel® High Level Synthesis Compiler Pro Edition Release Notes provide late-breaking information about the Intel® High Level Synthesis Compiler Pro Edition Version 22.4.

      Pending Deprecation of the Intel® HLS Compiler

      To keep access to the latest FPGA high-level design features, optimizations, and development utilities, migrate your existing designs to use the Intel® oneAPI Base Toolkit.

      The Intel® High Level Synthesis (HLS) Compiler is planned to be deprecated after Version 23.4.

      Visit the Intel® oneAPI product page for migration advice, or go to the Intel® High Level Design community forum for any questions or requests. ]

      I have a reasonably complex intel high level synthesis project and I am concerned about the deprecation. So I would like to know migration steps from Intel High Level Synthesis based project to oneAPI project (based on dpc++) and if there are any automated tools. We use RTL generated by the HLS above to further fine-tune the project before generating the bitstream.

      Any pointers or documents are highly appreciated.

      • Madhu-Raghupatruni's avatar
        Madhu-Raghupatruni
        Icon for New Contributor rankNew Contributor

        Appreciate if anyone has idea how to deal with the migration, links, pointers or documents :

        Please see the output of the intel HLS compiler:

        i++ --version
        *****************************************************************************
        * Intel recommends migrating existing designs to Intel(R) oneAPI to get *
        * access to the latest FPGA high-level design features, optimizations, *
        * and development utilities. *
        * The Intel(R) HLS Compiler will be DEPRECATED after the 23.3 Release. *
        * Visit the Intel oneAPI product page for migration advice, or go to the *
        * Intel(R) High Level Design community forum for any questions or requests. *
        *****************************************************************************

        Intel(R) HLS Compiler
        Version 22.4.0 Build 49.1
        Copyright (C) 2022 Intel Corporation

        I couldn't find any migration advice or tools either in oneAPI product page or this community forum.

  • hareesh's avatar
    hareesh
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,

    Sorry for late responding.

    actually i need some more time. i checking some internal documents related your issue.


  • hareesh's avatar
    hareesh
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,

    sorry for the delay.

    for Migrating an HLS design to DPC++ follow bellow steps.

    1. Add SYCL and FPGA headers
    2. Add FPGA Device selector
    3. Bind the device to a Queue
    4. Define shared memory
    5. convert kernel to a class
    6. Execute the kernel

    I attached some example code details following the above steps one by one.

    • Madhu-Raghupatruni's avatar
      Madhu-Raghupatruni
      Icon for New Contributor rankNew Contributor

      The above response is for SYCL work flows for an application to be developed under oneAPI.

      Intel HLS compiler is used to generate an IP component that can/need to be integrated into other IP components in an RTL flow (using quartus). We do not require to use SYCL or CPU based multi threaded application, as the entire soft IP will run inside the FPGA. I am not sure, i am able to find a step by step instructions on how to migrate intel HLS project into oneAPI based compiler suite here. I will speak to somebody internally in the intel HLS team. Thank you for your replies, really appreciate it.

  • hareesh's avatar
    hareesh
    Icon for Frequent Contributor rankFrequent Contributor

    Hi,


    Any update on your issue?

    Did you try the above steps?


    please update your status.


  • Thank you, this wiki page has enough material for taking care of the migration from intel HLS to dpcpp.

  • nick-f's avatar
    nick-f
    Icon for New Contributor rankNew Contributor

    Hi

    Can you share this link with me? We also need to migrate some IP blocks that we wrote in HLS, now that HLS is being obsoleted. I cannot find any guidance. We are not interested in SYCL. Our IP is standalone blocks.

    Thanks

    Nick

  • aman26kbm's avatar
    aman26kbm
    Icon for New Contributor rankNew Contributor

    Could the link be shared with me as well? We have a lot of C designs that we were planning to deploy on Intel FPGAs using Intel HLS compiler. It seems like it'd be better to move to OneAPI. The wiki would be very helpful.