Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added aarch64 architecture support for Ubuntu 22.04 #1787

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

liav-vorak
Copy link

The following has been done:

  • Modified the Klayout tools installation process to dynamically clone and build it from source since there are no prebuilt binaries available for the "aarch64" architecture.

  • The modification has been developed and tested successfully on an AWS Graviton (aarch64) instance using the following specifications: Instance type - t4g.xlarge (4 vCPU, 16 GiB Memory), Storage - 128 GiB.

Integration with Other Changes:

This pull request is associated with another changes in the OpenROAD repository. Specifically, adjustments were made in the DependancyInstaller.sh script to accommodate dependencies for the aarch64 architecture. Further details and the link to the related pull request will be provided in the comments.

if [[ $arch == "aarch64" ]]; then
if [ ! -f /usr/local/bin/klayout ]; then
echo "Installing KLayout for aarch64 architecture"
installDir="/usr/local/bin"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should default to /usr/local/bin, it should default to where the other packages from source are built.

installDir="/usr/local/bin"
git clone https://github.com/KLayout/klayout.git
cd klayout
./build.sh -bin "${installDir}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't KLayout have several additional dependencies that need to be installed in order to get it to build?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @rovinski
Thanks for your comment. Indeed, KLayout has dependencies that require installation, the necessary changes have already been pushed․ Regarding the installDir="/usr/local/bin" path defined for installation of Klayout, I included the PREFIX in a manner consistent with the approach used in the OpenROAD/etc/DependencyInstallers.sh file during the installation of various dependencies, however Klayout installation is done when the script is first time invoked from setup.sh with "--base" option which according to the help message is not compatible with "--prefix" option, so the installation will take place at "/usr/local" directory. Please let me know if there are any open questions that I can address.

Regards
Lia

Copy link
Member

@vvbandeira vvbandeira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just a tiny nit about indentation. Otherwise, it looks good. I want to wait until I can deploy a CI machine with aarch64 so we can adequately test the PR and make sure it will not break silently in the future.

Comment on lines 109 to 110
if [[ $arch == "aarch64" ]]; then
if [ ! -f ${klayoutPrefix}/klayout ]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks to be missing an indentation level.

liav-vorak and others added 4 commits February 7, 2024 09:30
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
…ng PREFIX

Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants