Quantuloop Quantum Simulator Suite for HPC

Amazon ECS Anywhere#

With Quantuloop Quantum Simulator Suite for HPC and Amazon ECS Anywhere, you can easily deploy and manage your quantum simulation infrastructure on-premises. Once your infrastructure is set up, you only need to connect to AWS to validate your product subscription at AWS Marketplace. Your quantum data and execution remain secure, as no data is sent to AWS during the simulation process. And with the power of Amazon ECS Anywhere, you can seamlessly manage your quantum simulation environment with the same ease and flexibility as your other AWS workloads.

Using Amazon ECS Anywhere with the Quantuloop Quantum Simulator Suite for HPC provides a number of benefits, including:

  • Increased flexibility: You can deploy the simulator suite on-premises to meet specific data residency, compliance, or latency requirements.

  • Improved security: You can keep your quantum experiments and data on-premises, and only connecting to AWS to validate your product subscription. The Quantuloop Quantum Simulator Suite for HPC performs no telemetry and does not send any information to third parties.

  • Better performance: You can take advantage of the high-performance computing capabilities of your on-premises infrastructure to accelerate the execution of quantum applications written in Ket.

  • Centralized management: You can manage and monitor the Quantuloop Quantum Simulator Suite for HPC, along with your other AWS resources, using a single management console.

Tip

If connecting to AWS is not suitable for your security requirements, there is an option to run the Quantuloop Quantum Simulation Suite for HPC on-premises with a Quantuloop Access Token. To acquire the token, please contact Quantuloop. Running the simulators offline allows you to maintain full control of your data and computing resources.

With the Quantuloop Access Token, you can deploy the Quantum Simulation Suite for HPC on your own infrastructure and run simulations without requiring an internet connection or connecting to AWS. This is a suitable option for organizations that have strict security requirements and need to maintain control over their data and computing resources.

AWS Marketplace: Quantuloop Quantum Simulator Suite for HPC

How it works#

Quantuloop Quantum Simulator Suite for HPC on AWS

Experience the power of private quantum simulation with Quantuloop Quantum Simulator Suite for HPC and Amazon ECS Anywhere. Deploy your own Quantum Simulator Server on-premise with the flexibility and control of having your own dedicated quantum simulator fully customizable to your needs. Connect to AWS to validate your product subscription at AWS Marketplace and enjoy the benefits of private quantum simulation without sending any data to AWS about the quantum execution.

How to deploy#

Deploying the Quantuloop Quantum Simulator Suite for HPC is now even easier with Amazon ECS Anywhere on-premises. Simply deploy it in an Amazon ECS cluster with your on-premises servers.

Once you’ve subscribed to the product, you can quickly set up your simulation server using the CloudFormation templates provided by Quantuloop. These templates streamline the configuration and launch process, allowing you to get up and running with just a few clicks. To get started with Amazon ECS Anywhere, you can follow the steps below.

Minimum requirements#

In order to run the Quantuloop Quantum Simulator Suite for HPC on-premises, your system must have a NVIDIA GPU with Volta or newer and the NVIDIA driver compatible with CUDA 11.4.3. Additionally, you will need root access to your system. Please refer to the Amazon ECS developer guide to confirm the supported operating systems for running external instances with Amazon ECS Anywhere.

Please note that at the moment, Windows operating systems are not supported with GPU instances on ECS Anywhere. We recommend using a Linux-based operating system to run the Quantum Simulator Suite for HPC on-premises with Amazon ECS Anywhere.

Tip

If your on-premises infrastructure does not meet the minimum requirements to deploy the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere, you can still use GPU-based instances on the AWS Cloud. This allows you to leverage the power of the AWS infrastructure and access the required GPU resources, even if your local environment is not capable of supporting the simulator.

Register your infrastructure#

To use the Quantuloop Quantum Simulator Suite for HPC on-premises with Amazon ECS Anywhere, you need to register your infrastructure in an Amazon ECS cluster. While it’s possible to register your infrastructure in an existing cluster, we recommend creating a new cluster to deploy the simulation server. Follow these steps to create a new ECS cluster:

  1. Open the ECS console at https://console.aws.amazon.com/ecs/v2.

  2. Select the appropriate region from the navigation bar.

  3. In the navigation pane, select “Clusters”.

  4. On the Clusters page, choose “Create Cluster”.

  5. For “Cluster name”, enter a unique name.

  6. Choose “Create”.

After creating the cluster, it’s time to register your infrastructure. Follow these steps:

  1. On the Clusters page, click on the name of the cluster you just created to open the configuration panel.

  2. Select the “Infrastructure” tab, and then click “Register external instances”.

  3. In the “Register external instances” panel, click “Generate registration command”.

  4. Copy the generated command and paste it into your external instances. Make sure to add the --enable-gpu flag to enable the required GPU support.

Note

At this time, Windows operating systems are not supported with GPU instances on ECS Anywhere.

With your on-premises infrastructure registered, you’re ready to deploy the Quantuloop Quantum Simulator Suite for HPC.

Generate an SSH RSA key pair for authentication#

To ensure the security of your simulation server, it’s important to provide an RSA public key at the launch configuration stage. When accessing the server, the quantum execution client will sign requests with your RSA private key, which helps prevent unauthorized access.

To generate a new SSH RSA key pair, we recommend using OpenSSH. If you’re on Windows, you’ll need to follow some additional steps to install it. On Linux and macOS, OpenSSH is likely already installed.

We strongly recommend generating a new SSH RSA key pair for your quantum simulation server, and sharing the private key only with your team. Keep in mind that anyone with access to the private key will be able to send quantum executions to the simulator server. You can use the following command to generate a new SSH RSA key pair:

ssh-keygen -t rsa -f quantum_simulator_key

When you run the ssh-keygen command, it will generate two files in the current directory: the private key quantum_simulator_key and the public key quantum_simulator_key.pub. The private key file contains sensitive information and should be kept secret. If you choose to encrypt the private key with a password, you will need to provide the password whenever you use the key in your quantum application.

Create the CloudFormation stack#

To deploy the Quantum Simulator Suite on AWS, follow these steps:

  1. Go to the product page at https://aws.amazon.com/marketplace/pp/prodview-obpwf766uzz6g and click “Continue to Subscribe”. Review the terms and conditions, then click “Continue to Configuration”.

  2. Choose “On-premises with Amazon ECS Anywhere” as the fulfillment option, select the desired software version, and click “Continue to Launch”.

  3. Download the appropriate CloudFormation template depending on whether you have a public certificate or not. If you have a public certificate, download the “Custom domain with a secure connection” template. Otherwise, download the “Application Load Balancer domain” template.

  4. Open the AWS CloudFormation console at https://console.aws.amazon.com/cloudformation and click “Create Stack”. Upload the downloaded template file, fill in the parameters (remember to use your OpenSSH RSA public key, which should be “quantum_simulator_key.pub”), then click “Next”.

  5. On the “Configure stack options” page, click “Next”.

  6. Check the box in the “Capabilities” section, then click “Submit”.

  7. Wait for up to 5 minutes for the stack to complete. Once it’s done, go to the “Output” tab on the stack page to get further instructions.

  8. You should see a link that may only be accessible on your registered external container instance. Accessing the link should take you to a page similar to this example.

Remember that creating an AWS account, setting up the necessary resources, and properly configuring the Quantum Simulator Suite for HPC using the CloudFormation templates are all critical steps in ensuring that your quantum simulation server is up and running smoothly. By following these steps, you’ll be able to deploy the Quantum Simulator Suite on AWS with ease, allowing you to perform complex simulations quickly and efficiently.

Enable Amazon Braket (optional)#

The provided CloudFormation template includes all the necessary permissions to access the Amazon Braket service through the quantum simulator suite available on AWS Marketplace. However, there are additional steps required to enable Amazon Braket on your AWS account. To enable Amazon Braket on your AWS account, follow these steps using your AWS root account credentials:

  1. Login to your AWS account as the root user.

  2. Visit https://console.aws.amazon.com/braket.

  3. Select your preferred region from the available options.

  4. Go to the Permissions and settings section.

  5. In the General tab, enable third-party devices to allow integration with external quantum devices.

  6. In the Execution roles tab, create a service-linked role for Braket.

By completing these steps with your AWS root account, Amazon Braket will be enabled for your AWS account. Please note that region restrictions may apply. If you encounter any “access denied” errors, please contact AWS support and request to allowlist your account for the regions us-east-1, us-west-1, and eu-west-2 to ensure proper access to Amazon Braket services.

Ket configuration#

Tip

Ket Quantum Programming is a cutting-edge open-source platform that facilitates seamless interaction between classical and quantum data at the programming level, simplifying classical-quantum development. With Ket, you can take advantage of the latest advancements in quantum computing to develop efficient and powerful applications. To learn more about the capabilities and features of Ket, visit https://quantumket.org.

After deploying your Quantum Simulator Server on AWS, you can configure your Ket application to access it. To get started, install the Quantuloop Quantum Simulator AWS Client using the appropriate command for your operating system:

python3 -m pip install quantuloop-aws-client
py -3 -m pip install quantuloop-aws-client
  • Setup server

Import the client and set the server using the quantuloop_aws_client.setup_server() function:

import quantuloop_aws_client as ql

# Set the URL, private key, and passphrase to connect to your quantum simulator server on AWS.
server = ql.setup_server(
    url='http://127.0.0.1:8080', # The port (8080) might be different if you changed the default value in the CloudFormation template.
    private_key="~/.ssh/id_rsa", # Specify the path to your private key file.
                                # This key should match the public key provided in the CloudFormation template.
    passphrase=b'password',      # set passphrase=True to prompt the user for the password.
)
  • Setup simulator

    To select the simulator, floating-point precision, and number of GPUs used, use the quantuloop_aws_client.make_configuration() function:

    import ket
    remote_process = ket.Process(server(
        num_qubits=num_qubits,
        # Set the simulator to be used for the computation.
        # Options are "quantuloop::sparse" and "quantuloop::dense".
        simulator="quantuloop::dense"
    
        # Set the floating-point precision used for the computation.
        # Options are 1 for single precision, or 2 for double precision.
        precision=1,
    
        # Set the number of GPUs to be used for the computation.
        # Set to 0 to use all available GPUs.
        gpu_count=4,
    ))
    

Example#

Example of Grover’s algorithm running locally using KBW Dense and on your simulation server using Quantuloop Dense. To increase the number of qubits, modify the variable n.

from math import pi, sqrt
from time import perf_counter
import quantuloop_aws_client as ql
import ket

server = ql.setup_server(
    url='http://127.0.0.1:8080',
    private_key="~/.ssh/id_rsa",
    passphrase=True,
)


def grover(process: ket.Process, size: int, w: int = 3):
    q = ket.H(process.alloc(size))
    for _ in range(int(pi / 4 * sqrt(2**size))):
        ket.lib.phase_oracle(w, q)
        with ket.around(ket.H, q):
            ket.lib.phase_oracle(0, q)
    assert ket.measure(q).get() == w


if __name__ == "__main__":
    num_qubits = 16

    print("Local execution (KBW Dense CPU)")
    begin = perf_counter()

    local_process = ket.Process(num_qubits=num_qubits, simulator="dense")
    grover(local_process, num_qubits)

    end = perf_counter()
    print(f"Local execution time {end - begin}s")

    print("Remote Execution (Quantuloop Dense GPU)")
    begin = perf_counter()

    remote_process = ket.Process(server(num_qubits=num_qubits, simulator="quantuloop::dense"))
    grover(remote_process, num_qubits)

    end = perf_counter()
    print(f"Local execution time {end - begin}s")

Privacy#

Quantuloop does not perform any telemetry on your quantum execution or send any information to third parties. An internet connection is only required to authenticate your subscription to the container product on AWS Marketplace. No information about your quantum computation is sent to AWS.

The simulator server deployed in the AWS cloud or on-premises with Amazon ECS Anywhere is stateless and does not store any quantum data. Therefore, someone with the OpenSSH RSA private key cannot collect information about quantum runs they have not activated. Your quantum data remains private and secure.

When utilizing Amazon Braket simulators (and QPUs), it is important to note that the quantum execution process will be managed by AWS, and as such, your data will be subject to the Amazon Braket privacy policy. This policy may involve the transmission of data to third-party entities. It is recommended to review the Amazon Braket privacy policy to understand how your data is handled and ensure compliance with your privacy requirements.

Billing#

The Quantuloop Quantum Simulator Suite for HPC is a paid container product available on the AWS Marketplace. Once you subscribe to the product, you will be charged an hourly rate based on the number of containers running, and not based on the instance type and region you choose for deployment. You can check the current pricing for the product on the AWS Marketplace product page.

If you are unable to deploy the product on-premises with Amazon ECS Anywhere due to not meeting the minimum requirements, you can use GPU-based instances on AWS Cloud to run the simulator server.

AWS charges you for the usage of the underlying infrastructure that hosts the Quantuloop Quantum Simulator Suite for HPC, including charges for compute resources and data transfer. If you deploy the product on-premises with Amazon ECS Anywhere, you will also incur charges for the usage of the on-premises infrastructure. For Amazon ECS Anywhere pricing details, see https://aws.amazon.com/ecs/anywhere/pricing.

You can monitor your usage and costs using the AWS Cost Explorer, and you can set up billing alerts to notify you when your costs exceed a certain threshold.

AWS bills you on a monthly basis for your usage of the infrastructure, and you can pay your bill using a credit card, bank account, or through other payment methods available in your country.

It’s important to note that AWS bills you separately for the usage of the infrastructure and the cost of the product subscription. You only get charged when you deploy the product and not when you subscribe. The subscription cost for the Quantuloop Quantum Simulator Suite for HPC is charged hourly based on the number of containers running, and the usage of the infrastructure is billed separately based on the resources you consume.

To stop future charges, you can terminate the CloudFormation stack or Amazon ECS Anywhere cluster from the AWS Management Console. When you delete the stack or cluster, all resources associated with the stack or cluster are deleted, and you will no longer be billed for them. You should also make sure to terminate any running instances or containers associated with the product to avoid additional charges. Overall, the billing process for the Quantuloop Quantum Simulator Suite for HPC on AWS or on-premises with Amazon ECS Anywhere is straightforward, and you can easily monitor and manage your costs using the tools provided by AWS.

Please note that using the simulators (and QPUs) with names starting with “arn:aws:braket” provided by Amazon Braket may incur additional charges. For detailed pricing information, please refer to the Amazon Braket pricing page at https://aws.amazon.com/braket/pricing. It is important to review the pricing details to understand the potential costs associated with utilizing these services.

Technical support#

If you require technical support for the Quantuloop Quantum Simulator Suite for HPC, you can reach out to the product’s support team by email at support@quantuloop.com. This is the recommended way to get in touch with the support team for any technical issues you may encounter while using the product.

When contacting support, be sure to provide as much detail as possible about the issue you are experiencing, including any error messages or logs that may be helpful in diagnosing the problem. The support team will work with you to troubleshoot the issue and provide a resolution as quickly as possible.

It’s important to note that the support team may take some time to respond to your inquiry depending on the volume of support requests they receive. However, they will make every effort to respond to your inquiry in a timely manner and provide the assistance you need to get the most out of the product.

FAQ#

Frequently asked questions about the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere. You can find more information on the FAQ about the Quantuloop Quantum Simulator Suite for HPC on the cloud.

  • What is the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere?

    The Quantuloop Quantum Simulator Suite for HPC is a container product available on the AWS Marketplace that allows you to run quantum simulations on-premises using Amazon ECS Anywhere, or in the cloud using Amazon ECS.

  • What are the system requirements for running the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere?

    The minimum requirements for running the simulator on-premises with Amazon ECS Anywhere an NVIDIA GPU with CUDA 11.4.3 support. If you do not have these minimum requirements, you can use GPU-based instances on the AWS Cloud.

  • What if I don’t have the minimum requirements to deploy the product on-premises with Amazon ECS Anywhere?

    If you don’t have the minimum requirements to deploy the Quantuloop Quantum Simulator Suite for HPC on-premises with Amazon ECS Anywhere, you can use GPU-based instances on the AWS Cloud. These instances provide high-performance computing capabilities and are ideal for running quantum simulations.

  • What is Amazon ECS Anywhere?

    Amazon ECS Anywhere is a fully-managed container orchestration service that enables you to run containers on-premises, in the cloud, or both. It extends Amazon ECS to any customer data center, co-location space, or on-premises environment.

  • How do I deploy the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere?

    To deploy the Quantuloop Quantum Simulator Suite for HPC with Amazon ECS Anywhere, you need to first subscribe to the product on the AWS Marketplace. Once you have subscribed, you can create an Amazon ECS cluster and register your on-premises servers or virtual machines with the cluster. Then, you can create a task definition for the product and launch it on your on-premises instances using Amazon ECS Anywhere.

  • How is the Quantuloop Quantum Simulator Suite for HPC priced?

    The product is priced hourly based on the number of containers running, and not based on the instance type and region you choose for deployment. AWS bills you separately for the usage of the infrastructure and the cost of the product subscription. You only get charged when you deploy the product and not when you subscribe.

  • How is the usage of the product on-premises with Amazon ECS Anywhere billed?

    The usage of the product on-premises with Amazon ECS Anywhere is billed hourly based on the number of containers running. In addition, you will also be billed separately for the usage of the underlying infrastructure that hosts the product. AWS bills you on a monthly basis for your usage of the infrastructure, and you can monitor your usage and costs using the AWS Cost Explorer.

  • Is my quantum computation data safe with the Quantuloop Quantum Simulator Suite for HPC?

    Yes, the simulator server deployed in the AWS cloud or on-premises with Amazon ECS Anywhere is stateless and does not store quantum data. Additionally, Quantuloop does not perform telemetry on your quantum execution or send any information to third parties.

  • Can I stop future charges for the product on-premises with Amazon ECS Anywhere?

    Yes, you can stop future charges for the product on-premises with Amazon ECS Anywhere by terminating the CloudFormation stack from the AWS Management Console. When you delete the stack, all resources associated with the stack are deleted, and you will no longer be billed for them. You should also make sure to terminate any running instances or containers associated with the product to avoid additional charges.

  • Can I run the Quantuloop Quantum Simulator Suite for HPC on my own hardware?

    Yes, you can run the simulator on-premises using Amazon ECS Anywhere. To do so, you need to register your infrastructure in an Amazon ECS cluster and register your external container instance.