Skip to content

Instantly share code, notes, and snippets.

@badwulfy
Created December 13, 2017 09:07
Show Gist options
  • Save badwulfy/f3b5b0a6206d3d4f43403b5490966353 to your computer and use it in GitHub Desktop.
Save badwulfy/f3b5b0a6206d3d4f43403b5490966353 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Accelerating C/C++ code with CUDA on GPUs\n",
"\n",
"In Part 1 of this self-paced, hands-on lab, we will use CUDA C/C++ to accelerate code on NVIDIA GPUs.\n",
"\n",
"Lab created by Mark Ebersole (Follow [@CUDAHamster](https://twitter.com/@cudahamster) on Twitter)\n",
"\n",
"This lab has been modified by Prof. Michael Krajecki to be executed on the ROMEO supercomputer (Follow [@KrajeckiMichael](https://twitter.com/@krajeckimichael) on Twitter)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's execute the cell below to display information about the GPUs running on the server."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wed Dec 13 08:13:20 2017 \r\n",
"+-----------------------------------------------------------------------------+\r\n",
"| NVIDIA-SMI 384.81 Driver Version: 384.81 |\r\n",
"|-------------------------------+----------------------+----------------------+\r\n",
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\r\n",
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\r\n",
"|===============================+======================+======================|\r\n",
"| 0 Tesla K20Xm On | 00000000:02:00.0 Off | Off |\r\n",
"| N/A 25C P8 18W / 235W | 1MiB / 6082MiB | 0% E. Process |\r\n",
"+-------------------------------+----------------------+----------------------+\r\n",
"| 1 Tesla K20Xm On | 00000000:84:00.0 Off | Off |\r\n",
"| N/A 24C P8 18W / 235W | 1MiB / 6082MiB | 0% E. Process |\r\n",
"+-------------------------------+----------------------+----------------------+\r\n",
" \r\n",
"+-----------------------------------------------------------------------------+\r\n",
"| Processes: GPU Memory |\r\n",
"| GPU PID Type Process name Usage |\r\n",
"|=============================================================================|\r\n",
"| No running processes found |\r\n",
"+-----------------------------------------------------------------------------+\r\n"
]
}
],
"source": [
"!nvidia-smi\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction to CUDA C/C++\n",
"\n",
"In this lab, we will learn how to write GPU code using C or C++, two of the ever growing list of CUDA enabled languages. By learning just a few new syntactic elements, as well as a few API calls, we'll be able to unlock the massively parallel capability of an NVIDIA GPU.\n",
"\n",
"Watch the following short video introduction to Grids, Blocks, and Threads:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"640\"\n",
" height=\"390\"\n",
" src=\"https://www.youtube.com/embed/KM-zbhyz9f4\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x7fa8cc12c5f8>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import IFrame\n",
"IFrame('https://www.youtube.com/embed/KM-zbhyz9f4', width=640, height=390)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This lab consists of a number of tasks that will require you to modify some code, compile and execute it. For each task, a solution is provided so you can check your work or take a peek if you get lost.\n",
"\n",
"If you are still confused now, or at any point in this lab, you can consult the <a href=\"#FAQ\">FAQ</a> located at the bottom of this page."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hello Parallelism\n",
"\n",
"For the first task, we are going to be using the following concepts:\n",
"\n",
"* <code style=\"color:green\">&#95;&#95;global&#95;&#95;</code> - this keyword is used to tell the CUDA compiler that the function is to be compiled for the GPU, and is callable from both the host and the GPU itself. For CUDA C/C++, the nvcc compiler will handle compiling this code.\n",
"* <code style=\"color:green\">blockIdx.x</code> - this is a read-only variable that is defined for you. It is used within a GPU kernel to determine the ID of the block which is currently executing code. Since there will be many blocks running in parallel, we need this ID to help determine which chunk of data that particular block will work on.\n",
"* <code style=\"color:green\">threadIdx.x</code> - this is a read-only variable that is defined for you. It is used within a GPU kernel to determine the ID of the thread which is currently executing code in the active block.\n",
"* <code style=\"color:green\">blockDim.x</code> - this is a read-only variable that is defined for you. It simply returns a value indicating the number of threads there are per block. Remember that all the blocks scheduled to execute on the GPU are identical, except for the <code style=\"color:green\">blockIdx.x</code> value.\n",
"* <code style=\"color:green\">myKernel <<< number_of_blocks, threads_per_block>>> (...)</code> - this is the syntax used to launch a kernel on the GPU. Inside the triple-angle brackets we set two values. The first is the total number of blocks we want to run on the GPU, and the second is the number of threads there are per block. It's possible, and in fact recommended, for one to schedule more blocks than the GPU can actively run in parallel. In this case, the system will just continue executing blocks until they have all run.\n",
"\n",
"Let's explore the above concepts by doing a simple \"Hello Parallelism\" example.\n",
"\n",
"There is nothing you need to do to the code to get this example to work. Before touching the code at all, select the next cell down and hit Ctrl-Enter (or the play button in the toolbar) to compile using the nvcc compiler from NVIDIA and run it. The nvcc compiler does the following basic steps:\n",
"\n",
"1. From the .cu source file, separate code which should be compiled for the GPU and the code which should be compiled for the CPU\n",
"2. nvcc will compile the GPU code itself\n",
"3. nvcc will give the host compiler, in our case gcc, the CPU code to compile\n",
"4. Link the compiled code from #2 and #3 and create the executable\n",
"\n",
"If everything is working, you should see the following: <code>Hello from Thread 0 in block 0</code>"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Server name: romeo109\n",
"Wed Dec 13 08:50:24 CET 2017\n",
"Compile and run...\n",
"Hello World from Thread 416 in block 60\n",
"Hello World from Thread 417 in block 60\n",
"Hello World from Thread 418 in block 60\n",
"Hello World from Thread 419 in block 60\n",
"Hello World from Thread 420 in block 60\n",
"Hello World from Thread 421 in block 60\n",
"Hello World from Thread 422 in block 60\n",
"Hello World from Thread 423 in block 60\n",
"Hello World from Thread 424 in block 60\n",
"Hello World from Thread 425 in block 60\n",
"Hello World from Thread 426 in block 60\n",
"Hello World from Thread 427 in block 60\n",
"Hello World from Thread 428 in block 60\n",
"Hello World from Thread 429 in block 60\n",
"Hello World from Thread 430 in block 60\n",
"Hello World from Thread 431 in block 60\n",
"Hello World from Thread 432 in block 60\n",
"Hello World from Thread 433 in block 60\n",
"Hello World from Thread 434 in block 60\n",
"Hello World from Thread 435 in block 60\n",
"Hello World from Thread 436 in block 60\n",
"Hello World from Thread 437 in block 60\n",
"Hello World from Thread 438 in block 60\n",
"Hello World from Thread 439 in block 60\n",
"Hello World from Thread 440 in block 60\n",
"Hello World from Thread 441 in block 60\n",
"Hello World from Thread 442 in block 60\n",
"Hello World from Thread 443 in block 60\n",
"Hello World from Thread 444 in block 60\n",
"Hello World from Thread 445 in block 60\n",
"Hello World from Thread 446 in block 60\n",
"Hello World from Thread 447 in block 60\n",
"Hello World from Thread 608 in block 60\n",
"Hello World from Thread 609 in block 60\n",
"Hello World from Thread 610 in block 60\n",
"Hello World from Thread 611 in block 60\n",
"Hello World from Thread 612 in block 60\n",
"Hello World from Thread 613 in block 60\n",
"Hello World from Thread 614 in block 60\n",
"Hello World from Thread 615 in block 60\n",
"Hello World from Thread 616 in block 60\n",
"Hello World from Thread 617 in block 60\n",
"Hello World from Thread 618 in block 60\n",
"Hello World from Thread 619 in block 60\n",
"Hello World from Thread 620 in block 60\n",
"Hello World from Thread 621 in block 60\n",
"Hello World from Thread 622 in block 60\n",
"Hello World from Thread 623 in block 60\n",
"Hello World from Thread 624 in block 60\n",
"Hello World from Thread 625 in block 60\n",
"Hello World from Thread 626 in block 60\n",
"Hello World from Thread 627 in block 60\n",
"Hello World from Thread 628 in block 60\n",
"Hello World from Thread 629 in block 60\n",
"Hello World from Thread 630 in block 60\n",
"Hello World from Thread 631 in block 60\n",
"Hello World from Thread 632 in block 60\n",
"Hello World from Thread 633 in block 60\n",
"Hello World from Thread 634 in block 60\n",
"Hello World from Thread 635 in block 60\n",
"Hello World from Thread 636 in block 60\n",
"Hello World from Thread 637 in block 60\n",
"Hello World from Thread 638 in block 60\n",
"Hello World from Thread 639 in block 60\n",
"Hello World from Thread 32 in block 60\n",
"Hello World from Thread 33 in block 60\n",
"Hello World from Thread 34 in block 60\n",
"Hello World from Thread 35 in block 60\n",
"Hello World from Thread 36 in block 60\n",
"Hello World from Thread 37 in block 60\n",
"Hello World from Thread 38 in block 60\n",
"Hello World from Thread 39 in block 60\n",
"Hello World from Thread 40 in block 60\n",
"Hello World from Thread 41 in block 60\n",
"Hello World from Thread 42 in block 60\n",
"Hello World from Thread 43 in block 60\n",
"Hello World from Thread 44 in block 60\n",
"Hello World from Thread 45 in block 60\n",
"Hello World from Thread 46 in block 60\n",
"Hello World from Thread 47 in block 60\n",
"Hello World from Thread 48 in block 60\n",
"Hello World from Thread 49 in block 60\n",
"Hello World from Thread 50 in block 60\n",
"Hello World from Thread 51 in block 60\n",
"Hello World from Thread 52 in block 60\n",
"Hello World from Thread 53 in block 60\n",
"Hello World from Thread 54 in block 60\n",
"Hello World from Thread 55 in block 60\n",
"Hello World from Thread 56 in block 60\n",
"Hello World from Thread 57 in block 60\n",
"Hello World from Thread 58 in block 60\n",
"Hello World from Thread 59 in block 60\n",
"Hello World from Thread 60 in block 60\n",
"Hello World from Thread 61 in block 60\n",
"Hello World from Thread 62 in block 60\n",
"Hello World from Thread 63 in block 60\n",
"Hello World from Thread 640 in block 60\n",
"Hello World from Thread 641 in block 60\n",
"Hello World from Thread 642 in block 60\n",
"Hello World from Thread 643 in block 60\n",
"Hello World from Thread 644 in block 60\n",
"Hello World from Thread 645 in block 60\n",
"Hello World from Thread 646 in block 60\n",
"Hello World from Thread 647 in block 60\n",
"Hello World from Thread 648 in block 60\n",
"Hello World from Thread 649 in block 60\n",
"Hello World from Thread 650 in block 60\n",
"Hello World from Thread 651 in block 60\n",
"Hello World from Thread 652 in block 60\n",
"Hello World from Thread 653 in block 60\n",
"Hello World from Thread 654 in block 60\n",
"Hello World from Thread 655 in block 60\n",
"Hello World from Thread 656 in block 60\n",
"Hello World from Thread 657 in block 60\n",
"Hello World from Thread 658 in block 60\n",
"Hello World from Thread 659 in block 60\n",
"Hello World from Thread 660 in block 60\n",
"Hello World from Thread 661 in block 60\n",
"Hello World from Thread 662 in block 60\n",
"Hello World from Thread 663 in block 60\n",
"Hello World from Thread 664 in block 60\n",
"Hello World from Thread 665 in block 60\n",
"Hello World from Thread 666 in block 60\n",
"Hello World from Thread 667 in block 60\n",
"Hello World from Thread 668 in block 60\n",
"Hello World from Thread 669 in block 60\n",
"Hello World from Thread 670 in block 60\n",
"Hello World from Thread 671 in block 60\n",
"Hello World from Thread 512 in block 60\n",
"Hello World from Thread 513 in block 60\n",
"Hello World from Thread 514 in block 60\n",
"Hello World from Thread 515 in block 60\n",
"Hello World from Thread 516 in block 60\n",
"Hello World from Thread 517 in block 60\n",
"Hello World from Thread 518 in block 60\n",
"Hello World from Thread 519 in block 60\n",
"Hello World from Thread 520 in block 60\n",
"Hello World from Thread 521 in block 60\n",
"Hello World from Thread 522 in block 60\n",
"Hello World from Thread 523 in block 60\n",
"Hello World from Thread 524 in block 60\n",
"Hello World from Thread 525 in block 60\n",
"Hello World from Thread 526 in block 60\n",
"Hello World from Thread 527 in block 60\n",
"Hello World from Thread 528 in block 60\n",
"Hello World from Thread 529 in block 60\n",
"Hello World from Thread 530 in block 60\n",
"Hello World from Thread 531 in block 60\n",
"Hello World from Thread 532 in block 60\n",
"Hello World from Thread 533 in block 60\n",
"Hello World from Thread 534 in block 60\n",
"Hello World from Thread 535 in block 60\n",
"Hello World from Thread 536 in block 60\n",
"Hello World from Thread 537 in block 60\n",
"Hello World from Thread 538 in block 60\n",
"Hello World from Thread 539 in block 60\n",
"Hello World from Thread 540 in block 60\n",
"Hello World from Thread 541 in block 60\n",
"Hello World from Thread 542 in block 60\n",
"Hello World from Thread 543 in block 60\n",
"Hello World from Thread 736 in block 60\n",
"Hello World from Thread 737 in block 60\n",
"Hello World from Thread 738 in block 60\n",
"Hello World from Thread 739 in block 60\n",
"Hello World from Thread 740 in block 60\n",
"Hello World from Thread 741 in block 60\n",
"Hello World from Thread 742 in block 60\n",
"Hello World from Thread 743 in block 60\n",
"Hello World from Thread 744 in block 60\n",
"Hello World from Thread 745 in block 60\n",
"Hello World from Thread 746 in block 60\n",
"Hello World from Thread 747 in block 60\n",
"Hello World from Thread 748 in block 60\n",
"Hello World from Thread 749 in block 60\n",
"Hello World from Thread 750 in block 60\n",
"Hello World from Thread 751 in block 60\n",
"Hello World from Thread 752 in block 60\n",
"Hello World from Thread 753 in block 60\n",
"Hello World from Thread 754 in block 60\n",
"Hello World from Thread 755 in block 60\n",
"Hello World from Thread 756 in block 60\n",
"Hello World from Thread 757 in block 60\n",
"Hello World from Thread 758 in block 60\n",
"Hello World from Thread 759 in block 60\n",
"Hello World from Thread 760 in block 60\n",
"Hello World from Thread 761 in block 60\n",
"Hello World from Thread 762 in block 60\n",
"Hello World from Thread 763 in block 60\n",
"Hello World from Thread 764 in block 60\n",
"Hello World from Thread 765 in block 60\n",
"Hello World from Thread 766 in block 60\n",
"Hello World from Thread 767 in block 60\n",
"Hello World from Thread 896 in block 60\n",
"Hello World from Thread 897 in block 60\n",
"Hello World from Thread 898 in block 60\n",
"Hello World from Thread 899 in block 60\n",
"Hello World from Thread 900 in block 60\n",
"Hello World from Thread 901 in block 60\n",
"Hello World from Thread 902 in block 60\n",
"Hello World from Thread 903 in block 60\n",
"Hello World from Thread 904 in block 60\n",
"Hello World from Thread 905 in block 60\n",
"Hello World from Thread 906 in block 60\n",
"Hello World from Thread 907 in block 60\n",
"Hello World from Thread 908 in block 60\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 909 in block 60\n",
"Hello World from Thread 910 in block 60\n",
"Hello World from Thread 911 in block 60\n",
"Hello World from Thread 912 in block 60\n",
"Hello World from Thread 913 in block 60\n",
"Hello World from Thread 914 in block 60\n",
"Hello World from Thread 915 in block 60\n",
"Hello World from Thread 916 in block 60\n",
"Hello World from Thread 917 in block 60\n",
"Hello World from Thread 918 in block 60\n",
"Hello World from Thread 919 in block 60\n",
"Hello World from Thread 920 in block 60\n",
"Hello World from Thread 921 in block 60\n",
"Hello World from Thread 922 in block 60\n",
"Hello World from Thread 923 in block 60\n",
"Hello World from Thread 924 in block 60\n",
"Hello World from Thread 925 in block 60\n",
"Hello World from Thread 926 in block 60\n",
"Hello World from Thread 927 in block 60\n",
"Hello World from Thread 128 in block 60\n",
"Hello World from Thread 129 in block 60\n",
"Hello World from Thread 130 in block 60\n",
"Hello World from Thread 131 in block 60\n",
"Hello World from Thread 132 in block 60\n",
"Hello World from Thread 133 in block 60\n",
"Hello World from Thread 134 in block 60\n",
"Hello World from Thread 135 in block 60\n",
"Hello World from Thread 136 in block 60\n",
"Hello World from Thread 137 in block 60\n",
"Hello World from Thread 138 in block 60\n",
"Hello World from Thread 139 in block 60\n",
"Hello World from Thread 140 in block 60\n",
"Hello World from Thread 141 in block 60\n",
"Hello World from Thread 142 in block 60\n",
"Hello World from Thread 143 in block 60\n",
"Hello World from Thread 144 in block 60\n",
"Hello World from Thread 145 in block 60\n",
"Hello World from Thread 146 in block 60\n",
"Hello World from Thread 147 in block 60\n",
"Hello World from Thread 148 in block 60\n",
"Hello World from Thread 149 in block 60\n",
"Hello World from Thread 150 in block 60\n",
"Hello World from Thread 151 in block 60\n",
"Hello World from Thread 152 in block 60\n",
"Hello World from Thread 153 in block 60\n",
"Hello World from Thread 154 in block 60\n",
"Hello World from Thread 155 in block 60\n",
"Hello World from Thread 156 in block 60\n",
"Hello World from Thread 157 in block 60\n",
"Hello World from Thread 158 in block 60\n",
"Hello World from Thread 159 in block 60\n",
"Hello World from Thread 288 in block 60\n",
"Hello World from Thread 289 in block 60\n",
"Hello World from Thread 290 in block 60\n",
"Hello World from Thread 291 in block 60\n",
"Hello World from Thread 292 in block 60\n",
"Hello World from Thread 293 in block 60\n",
"Hello World from Thread 294 in block 60\n",
"Hello World from Thread 295 in block 60\n",
"Hello World from Thread 296 in block 60\n",
"Hello World from Thread 297 in block 60\n",
"Hello World from Thread 298 in block 60\n",
"Hello World from Thread 299 in block 60\n",
"Hello World from Thread 300 in block 60\n",
"Hello World from Thread 301 in block 60\n",
"Hello World from Thread 302 in block 60\n",
"Hello World from Thread 303 in block 60\n",
"Hello World from Thread 304 in block 60\n",
"Hello World from Thread 305 in block 60\n",
"Hello World from Thread 306 in block 60\n",
"Hello World from Thread 307 in block 60\n",
"Hello World from Thread 308 in block 60\n",
"Hello World from Thread 309 in block 60\n",
"Hello World from Thread 310 in block 60\n",
"Hello World from Thread 311 in block 60\n",
"Hello World from Thread 312 in block 60\n",
"Hello World from Thread 313 in block 60\n",
"Hello World from Thread 314 in block 60\n",
"Hello World from Thread 315 in block 60\n",
"Hello World from Thread 316 in block 60\n",
"Hello World from Thread 317 in block 60\n",
"Hello World from Thread 318 in block 60\n",
"Hello World from Thread 319 in block 60\n",
"Hello World from Thread 576 in block 60\n",
"Hello World from Thread 577 in block 60\n",
"Hello World from Thread 578 in block 60\n",
"Hello World from Thread 579 in block 60\n",
"Hello World from Thread 580 in block 60\n",
"Hello World from Thread 581 in block 60\n",
"Hello World from Thread 582 in block 60\n",
"Hello World from Thread 583 in block 60\n",
"Hello World from Thread 584 in block 60\n",
"Hello World from Thread 585 in block 60\n",
"Hello World from Thread 586 in block 60\n",
"Hello World from Thread 587 in block 60\n",
"Hello World from Thread 588 in block 60\n",
"Hello World from Thread 589 in block 60\n",
"Hello World from Thread 590 in block 60\n",
"Hello World from Thread 591 in block 60\n",
"Hello World from Thread 592 in block 60\n",
"Hello World from Thread 593 in block 60\n",
"Hello World from Thread 594 in block 60\n",
"Hello World from Thread 595 in block 60\n",
"Hello World from Thread 596 in block 60\n",
"Hello World from Thread 597 in block 60\n",
"Hello World from Thread 598 in block 60\n",
"Hello World from Thread 599 in block 60\n",
"Hello World from Thread 600 in block 60\n",
"Hello World from Thread 601 in block 60\n",
"Hello World from Thread 602 in block 60\n",
"Hello World from Thread 603 in block 60\n",
"Hello World from Thread 604 in block 60\n",
"Hello World from Thread 605 in block 60\n",
"Hello World from Thread 606 in block 60\n",
"Hello World from Thread 607 in block 60\n",
"Hello World from Thread 704 in block 60\n",
"Hello World from Thread 705 in block 60\n",
"Hello World from Thread 706 in block 60\n",
"Hello World from Thread 707 in block 60\n",
"Hello World from Thread 708 in block 60\n",
"Hello World from Thread 709 in block 60\n",
"Hello World from Thread 710 in block 60\n",
"Hello World from Thread 711 in block 60\n",
"Hello World from Thread 712 in block 60\n",
"Hello World from Thread 713 in block 60\n",
"Hello World from Thread 714 in block 60\n",
"Hello World from Thread 715 in block 60\n",
"Hello World from Thread 716 in block 60\n",
"Hello World from Thread 717 in block 60\n",
"Hello World from Thread 718 in block 60\n",
"Hello World from Thread 719 in block 60\n",
"Hello World from Thread 720 in block 60\n",
"Hello World from Thread 721 in block 60\n",
"Hello World from Thread 722 in block 60\n",
"Hello World from Thread 723 in block 60\n",
"Hello World from Thread 724 in block 60\n",
"Hello World from Thread 725 in block 60\n",
"Hello World from Thread 726 in block 60\n",
"Hello World from Thread 727 in block 60\n",
"Hello World from Thread 728 in block 60\n",
"Hello World from Thread 729 in block 60\n",
"Hello World from Thread 730 in block 60\n",
"Hello World from Thread 731 in block 60\n",
"Hello World from Thread 732 in block 60\n",
"Hello World from Thread 733 in block 60\n",
"Hello World from Thread 734 in block 60\n",
"Hello World from Thread 735 in block 60\n",
"Hello World from Thread 480 in block 60\n",
"Hello World from Thread 481 in block 60\n",
"Hello World from Thread 482 in block 60\n",
"Hello World from Thread 483 in block 60\n",
"Hello World from Thread 484 in block 60\n",
"Hello World from Thread 485 in block 60\n",
"Hello World from Thread 486 in block 60\n",
"Hello World from Thread 487 in block 60\n",
"Hello World from Thread 488 in block 60\n",
"Hello World from Thread 489 in block 60\n",
"Hello World from Thread 490 in block 60\n",
"Hello World from Thread 491 in block 60\n",
"Hello World from Thread 492 in block 60\n",
"Hello World from Thread 493 in block 60\n",
"Hello World from Thread 494 in block 60\n",
"Hello World from Thread 495 in block 60\n",
"Hello World from Thread 496 in block 60\n",
"Hello World from Thread 497 in block 60\n",
"Hello World from Thread 498 in block 60\n",
"Hello World from Thread 499 in block 60\n",
"Hello World from Thread 500 in block 60\n",
"Hello World from Thread 501 in block 60\n",
"Hello World from Thread 502 in block 60\n",
"Hello World from Thread 503 in block 60\n",
"Hello World from Thread 504 in block 60\n",
"Hello World from Thread 505 in block 60\n",
"Hello World from Thread 506 in block 60\n",
"Hello World from Thread 507 in block 60\n",
"Hello World from Thread 508 in block 60\n",
"Hello World from Thread 509 in block 60\n",
"Hello World from Thread 510 in block 60\n",
"Hello World from Thread 511 in block 60\n",
"Hello World from Thread 832 in block 60\n",
"Hello World from Thread 833 in block 60\n",
"Hello World from Thread 834 in block 60\n",
"Hello World from Thread 835 in block 60\n",
"Hello World from Thread 836 in block 60\n",
"Hello World from Thread 837 in block 60\n",
"Hello World from Thread 838 in block 60\n",
"Hello World from Thread 839 in block 60\n",
"Hello World from Thread 840 in block 60\n",
"Hello World from Thread 841 in block 60\n",
"Hello World from Thread 842 in block 60\n",
"Hello World from Thread 843 in block 60\n",
"Hello World from Thread 844 in block 60\n",
"Hello World from Thread 845 in block 60\n",
"Hello World from Thread 846 in block 60\n",
"Hello World from Thread 847 in block 60\n",
"Hello World from Thread 848 in block 60\n",
"Hello World from Thread 849 in block 60\n",
"Hello World from Thread 850 in block 60\n",
"Hello World from Thread 851 in block 60\n",
"Hello World from Thread 852 in block 60\n",
"Hello World from Thread 853 in block 60\n",
"Hello World from Thread 854 in block 60\n",
"Hello World from Thread 855 in block 60\n",
"Hello World from Thread 856 in block 60\n",
"Hello World from Thread 857 in block 60\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 858 in block 60\n",
"Hello World from Thread 859 in block 60\n",
"Hello World from Thread 860 in block 60\n",
"Hello World from Thread 861 in block 60\n",
"Hello World from Thread 862 in block 60\n",
"Hello World from Thread 863 in block 60\n",
"Hello World from Thread 96 in block 60\n",
"Hello World from Thread 97 in block 60\n",
"Hello World from Thread 98 in block 60\n",
"Hello World from Thread 99 in block 60\n",
"Hello World from Thread 100 in block 60\n",
"Hello World from Thread 101 in block 60\n",
"Hello World from Thread 102 in block 60\n",
"Hello World from Thread 103 in block 60\n",
"Hello World from Thread 104 in block 60\n",
"Hello World from Thread 105 in block 60\n",
"Hello World from Thread 106 in block 60\n",
"Hello World from Thread 107 in block 60\n",
"Hello World from Thread 108 in block 60\n",
"Hello World from Thread 109 in block 60\n",
"Hello World from Thread 110 in block 60\n",
"Hello World from Thread 111 in block 60\n",
"Hello World from Thread 112 in block 60\n",
"Hello World from Thread 113 in block 60\n",
"Hello World from Thread 114 in block 60\n",
"Hello World from Thread 115 in block 60\n",
"Hello World from Thread 116 in block 60\n",
"Hello World from Thread 117 in block 60\n",
"Hello World from Thread 118 in block 60\n",
"Hello World from Thread 119 in block 60\n",
"Hello World from Thread 120 in block 60\n",
"Hello World from Thread 121 in block 60\n",
"Hello World from Thread 122 in block 60\n",
"Hello World from Thread 123 in block 60\n",
"Hello World from Thread 124 in block 60\n",
"Hello World from Thread 125 in block 60\n",
"Hello World from Thread 126 in block 60\n",
"Hello World from Thread 127 in block 60\n",
"Hello World from Thread 992 in block 60\n",
"Hello World from Thread 993 in block 60\n",
"Hello World from Thread 994 in block 60\n",
"Hello World from Thread 995 in block 60\n",
"Hello World from Thread 996 in block 60\n",
"Hello World from Thread 997 in block 60\n",
"Hello World from Thread 998 in block 60\n",
"Hello World from Thread 999 in block 60\n",
"Hello World from Thread 1000 in block 60\n",
"Hello World from Thread 1001 in block 60\n",
"Hello World from Thread 1002 in block 60\n",
"Hello World from Thread 1003 in block 60\n",
"Hello World from Thread 1004 in block 60\n",
"Hello World from Thread 1005 in block 60\n",
"Hello World from Thread 1006 in block 60\n",
"Hello World from Thread 1007 in block 60\n",
"Hello World from Thread 1008 in block 60\n",
"Hello World from Thread 1009 in block 60\n",
"Hello World from Thread 1010 in block 60\n",
"Hello World from Thread 1011 in block 60\n",
"Hello World from Thread 1012 in block 60\n",
"Hello World from Thread 1013 in block 60\n",
"Hello World from Thread 1014 in block 60\n",
"Hello World from Thread 1015 in block 60\n",
"Hello World from Thread 1016 in block 60\n",
"Hello World from Thread 1017 in block 60\n",
"Hello World from Thread 1018 in block 60\n",
"Hello World from Thread 1019 in block 60\n",
"Hello World from Thread 1020 in block 60\n",
"Hello World from Thread 1021 in block 60\n",
"Hello World from Thread 1022 in block 60\n",
"Hello World from Thread 1023 in block 60\n",
"Hello World from Thread 960 in block 60\n",
"Hello World from Thread 961 in block 60\n",
"Hello World from Thread 962 in block 60\n",
"Hello World from Thread 963 in block 60\n",
"Hello World from Thread 964 in block 60\n",
"Hello World from Thread 965 in block 60\n",
"Hello World from Thread 966 in block 60\n",
"Hello World from Thread 967 in block 60\n",
"Hello World from Thread 968 in block 60\n",
"Hello World from Thread 969 in block 60\n",
"Hello World from Thread 970 in block 60\n",
"Hello World from Thread 971 in block 60\n",
"Hello World from Thread 972 in block 60\n",
"Hello World from Thread 973 in block 60\n",
"Hello World from Thread 974 in block 60\n",
"Hello World from Thread 975 in block 60\n",
"Hello World from Thread 976 in block 60\n",
"Hello World from Thread 977 in block 60\n",
"Hello World from Thread 978 in block 60\n",
"Hello World from Thread 979 in block 60\n",
"Hello World from Thread 980 in block 60\n",
"Hello World from Thread 981 in block 60\n",
"Hello World from Thread 982 in block 60\n",
"Hello World from Thread 983 in block 60\n",
"Hello World from Thread 984 in block 60\n",
"Hello World from Thread 985 in block 60\n",
"Hello World from Thread 986 in block 60\n",
"Hello World from Thread 987 in block 60\n",
"Hello World from Thread 988 in block 60\n",
"Hello World from Thread 989 in block 60\n",
"Hello World from Thread 990 in block 60\n",
"Hello World from Thread 991 in block 60\n",
"Hello World from Thread 64 in block 60\n",
"Hello World from Thread 65 in block 60\n",
"Hello World from Thread 66 in block 60\n",
"Hello World from Thread 67 in block 60\n",
"Hello World from Thread 68 in block 60\n",
"Hello World from Thread 69 in block 60\n",
"Hello World from Thread 70 in block 60\n",
"Hello World from Thread 71 in block 60\n",
"Hello World from Thread 72 in block 60\n",
"Hello World from Thread 73 in block 60\n",
"Hello World from Thread 74 in block 60\n",
"Hello World from Thread 75 in block 60\n",
"Hello World from Thread 76 in block 60\n",
"Hello World from Thread 77 in block 60\n",
"Hello World from Thread 78 in block 60\n",
"Hello World from Thread 79 in block 60\n",
"Hello World from Thread 80 in block 60\n",
"Hello World from Thread 81 in block 60\n",
"Hello World from Thread 82 in block 60\n",
"Hello World from Thread 83 in block 60\n",
"Hello World from Thread 84 in block 60\n",
"Hello World from Thread 85 in block 60\n",
"Hello World from Thread 86 in block 60\n",
"Hello World from Thread 87 in block 60\n",
"Hello World from Thread 88 in block 60\n",
"Hello World from Thread 89 in block 60\n",
"Hello World from Thread 90 in block 60\n",
"Hello World from Thread 91 in block 60\n",
"Hello World from Thread 92 in block 60\n",
"Hello World from Thread 93 in block 60\n",
"Hello World from Thread 94 in block 60\n",
"Hello World from Thread 95 in block 60\n",
"Hello World from Thread 864 in block 60\n",
"Hello World from Thread 865 in block 60\n",
"Hello World from Thread 866 in block 60\n",
"Hello World from Thread 867 in block 60\n",
"Hello World from Thread 868 in block 60\n",
"Hello World from Thread 869 in block 60\n",
"Hello World from Thread 870 in block 60\n",
"Hello World from Thread 871 in block 60\n",
"Hello World from Thread 872 in block 60\n",
"Hello World from Thread 873 in block 60\n",
"Hello World from Thread 874 in block 60\n",
"Hello World from Thread 875 in block 60\n",
"Hello World from Thread 876 in block 60\n",
"Hello World from Thread 877 in block 60\n",
"Hello World from Thread 878 in block 60\n",
"Hello World from Thread 879 in block 60\n",
"Hello World from Thread 880 in block 60\n",
"Hello World from Thread 881 in block 60\n",
"Hello World from Thread 882 in block 60\n",
"Hello World from Thread 883 in block 60\n",
"Hello World from Thread 884 in block 60\n",
"Hello World from Thread 885 in block 60\n",
"Hello World from Thread 886 in block 60\n",
"Hello World from Thread 887 in block 60\n",
"Hello World from Thread 888 in block 60\n",
"Hello World from Thread 889 in block 60\n",
"Hello World from Thread 890 in block 60\n",
"Hello World from Thread 891 in block 60\n",
"Hello World from Thread 892 in block 60\n",
"Hello World from Thread 893 in block 60\n",
"Hello World from Thread 894 in block 60\n",
"Hello World from Thread 895 in block 60\n",
"Hello World from Thread 928 in block 60\n",
"Hello World from Thread 929 in block 60\n",
"Hello World from Thread 930 in block 60\n",
"Hello World from Thread 931 in block 60\n",
"Hello World from Thread 932 in block 60\n",
"Hello World from Thread 933 in block 60\n",
"Hello World from Thread 934 in block 60\n",
"Hello World from Thread 935 in block 60\n",
"Hello World from Thread 936 in block 60\n",
"Hello World from Thread 937 in block 60\n",
"Hello World from Thread 938 in block 60\n",
"Hello World from Thread 939 in block 60\n",
"Hello World from Thread 940 in block 60\n",
"Hello World from Thread 941 in block 60\n",
"Hello World from Thread 942 in block 60\n",
"Hello World from Thread 943 in block 60\n",
"Hello World from Thread 944 in block 60\n",
"Hello World from Thread 945 in block 60\n",
"Hello World from Thread 946 in block 60\n",
"Hello World from Thread 947 in block 60\n",
"Hello World from Thread 948 in block 60\n",
"Hello World from Thread 949 in block 60\n",
"Hello World from Thread 950 in block 60\n",
"Hello World from Thread 951 in block 60\n",
"Hello World from Thread 952 in block 60\n",
"Hello World from Thread 953 in block 60\n",
"Hello World from Thread 954 in block 60\n",
"Hello World from Thread 955 in block 60\n",
"Hello World from Thread 956 in block 60\n",
"Hello World from Thread 957 in block 60\n",
"Hello World from Thread 958 in block 60\n",
"Hello World from Thread 959 in block 60\n",
"Hello World from Thread 352 in block 60\n",
"Hello World from Thread 353 in block 60\n",
"Hello World from Thread 354 in block 60\n",
"Hello World from Thread 355 in block 60\n",
"Hello World from Thread 356 in block 60\n",
"Hello World from Thread 357 in block 60\n",
"Hello World from Thread 358 in block 60\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 359 in block 60\n",
"Hello World from Thread 360 in block 60\n",
"Hello World from Thread 361 in block 60\n",
"Hello World from Thread 362 in block 60\n",
"Hello World from Thread 363 in block 60\n",
"Hello World from Thread 364 in block 60\n",
"Hello World from Thread 365 in block 60\n",
"Hello World from Thread 366 in block 60\n",
"Hello World from Thread 367 in block 60\n",
"Hello World from Thread 368 in block 60\n",
"Hello World from Thread 369 in block 60\n",
"Hello World from Thread 370 in block 60\n",
"Hello World from Thread 371 in block 60\n",
"Hello World from Thread 372 in block 60\n",
"Hello World from Thread 373 in block 60\n",
"Hello World from Thread 374 in block 60\n",
"Hello World from Thread 375 in block 60\n",
"Hello World from Thread 376 in block 60\n",
"Hello World from Thread 377 in block 60\n",
"Hello World from Thread 378 in block 60\n",
"Hello World from Thread 379 in block 60\n",
"Hello World from Thread 380 in block 60\n",
"Hello World from Thread 381 in block 60\n",
"Hello World from Thread 382 in block 60\n",
"Hello World from Thread 383 in block 60\n",
"Hello World from Thread 160 in block 60\n",
"Hello World from Thread 161 in block 60\n",
"Hello World from Thread 162 in block 60\n",
"Hello World from Thread 163 in block 60\n",
"Hello World from Thread 164 in block 60\n",
"Hello World from Thread 165 in block 60\n",
"Hello World from Thread 166 in block 60\n",
"Hello World from Thread 167 in block 60\n",
"Hello World from Thread 168 in block 60\n",
"Hello World from Thread 169 in block 60\n",
"Hello World from Thread 170 in block 60\n",
"Hello World from Thread 171 in block 60\n",
"Hello World from Thread 172 in block 60\n",
"Hello World from Thread 173 in block 60\n",
"Hello World from Thread 174 in block 60\n",
"Hello World from Thread 175 in block 60\n",
"Hello World from Thread 176 in block 60\n",
"Hello World from Thread 177 in block 60\n",
"Hello World from Thread 178 in block 60\n",
"Hello World from Thread 179 in block 60\n",
"Hello World from Thread 180 in block 60\n",
"Hello World from Thread 181 in block 60\n",
"Hello World from Thread 182 in block 60\n",
"Hello World from Thread 183 in block 60\n",
"Hello World from Thread 184 in block 60\n",
"Hello World from Thread 185 in block 60\n",
"Hello World from Thread 186 in block 60\n",
"Hello World from Thread 187 in block 60\n",
"Hello World from Thread 188 in block 60\n",
"Hello World from Thread 189 in block 60\n",
"Hello World from Thread 190 in block 60\n",
"Hello World from Thread 191 in block 60\n",
"Hello World from Thread 544 in block 60\n",
"Hello World from Thread 545 in block 60\n",
"Hello World from Thread 546 in block 60\n",
"Hello World from Thread 547 in block 60\n",
"Hello World from Thread 548 in block 60\n",
"Hello World from Thread 549 in block 60\n",
"Hello World from Thread 550 in block 60\n",
"Hello World from Thread 551 in block 60\n",
"Hello World from Thread 552 in block 60\n",
"Hello World from Thread 553 in block 60\n",
"Hello World from Thread 554 in block 60\n",
"Hello World from Thread 555 in block 60\n",
"Hello World from Thread 556 in block 60\n",
"Hello World from Thread 557 in block 60\n",
"Hello World from Thread 558 in block 60\n",
"Hello World from Thread 559 in block 60\n",
"Hello World from Thread 560 in block 60\n",
"Hello World from Thread 561 in block 60\n",
"Hello World from Thread 562 in block 60\n",
"Hello World from Thread 563 in block 60\n",
"Hello World from Thread 564 in block 60\n",
"Hello World from Thread 565 in block 60\n",
"Hello World from Thread 566 in block 60\n",
"Hello World from Thread 567 in block 60\n",
"Hello World from Thread 568 in block 60\n",
"Hello World from Thread 569 in block 60\n",
"Hello World from Thread 570 in block 60\n",
"Hello World from Thread 571 in block 60\n",
"Hello World from Thread 572 in block 60\n",
"Hello World from Thread 573 in block 60\n",
"Hello World from Thread 574 in block 60\n",
"Hello World from Thread 575 in block 60\n",
"Hello World from Thread 672 in block 60\n",
"Hello World from Thread 673 in block 60\n",
"Hello World from Thread 674 in block 60\n",
"Hello World from Thread 675 in block 60\n",
"Hello World from Thread 676 in block 60\n",
"Hello World from Thread 677 in block 60\n",
"Hello World from Thread 678 in block 60\n",
"Hello World from Thread 679 in block 60\n",
"Hello World from Thread 680 in block 60\n",
"Hello World from Thread 681 in block 60\n",
"Hello World from Thread 682 in block 60\n",
"Hello World from Thread 683 in block 60\n",
"Hello World from Thread 684 in block 60\n",
"Hello World from Thread 685 in block 60\n",
"Hello World from Thread 686 in block 60\n",
"Hello World from Thread 687 in block 60\n",
"Hello World from Thread 688 in block 60\n",
"Hello World from Thread 689 in block 60\n",
"Hello World from Thread 690 in block 60\n",
"Hello World from Thread 691 in block 60\n",
"Hello World from Thread 692 in block 60\n",
"Hello World from Thread 693 in block 60\n",
"Hello World from Thread 694 in block 60\n",
"Hello World from Thread 695 in block 60\n",
"Hello World from Thread 696 in block 60\n",
"Hello World from Thread 697 in block 60\n",
"Hello World from Thread 698 in block 60\n",
"Hello World from Thread 699 in block 60\n",
"Hello World from Thread 700 in block 60\n",
"Hello World from Thread 701 in block 60\n",
"Hello World from Thread 702 in block 60\n",
"Hello World from Thread 703 in block 60\n",
"Hello World from Thread 320 in block 60\n",
"Hello World from Thread 321 in block 60\n",
"Hello World from Thread 322 in block 60\n",
"Hello World from Thread 323 in block 60\n",
"Hello World from Thread 324 in block 60\n",
"Hello World from Thread 325 in block 60\n",
"Hello World from Thread 326 in block 60\n",
"Hello World from Thread 327 in block 60\n",
"Hello World from Thread 328 in block 60\n",
"Hello World from Thread 329 in block 60\n",
"Hello World from Thread 330 in block 60\n",
"Hello World from Thread 331 in block 60\n",
"Hello World from Thread 332 in block 60\n",
"Hello World from Thread 333 in block 60\n",
"Hello World from Thread 334 in block 60\n",
"Hello World from Thread 335 in block 60\n",
"Hello World from Thread 336 in block 60\n",
"Hello World from Thread 337 in block 60\n",
"Hello World from Thread 338 in block 60\n",
"Hello World from Thread 339 in block 60\n",
"Hello World from Thread 340 in block 60\n",
"Hello World from Thread 341 in block 60\n",
"Hello World from Thread 342 in block 60\n",
"Hello World from Thread 343 in block 60\n",
"Hello World from Thread 344 in block 60\n",
"Hello World from Thread 345 in block 60\n",
"Hello World from Thread 346 in block 60\n",
"Hello World from Thread 347 in block 60\n",
"Hello World from Thread 348 in block 60\n",
"Hello World from Thread 349 in block 60\n",
"Hello World from Thread 350 in block 60\n",
"Hello World from Thread 351 in block 60\n",
"Hello World from Thread 800 in block 60\n",
"Hello World from Thread 801 in block 60\n",
"Hello World from Thread 802 in block 60\n",
"Hello World from Thread 803 in block 60\n",
"Hello World from Thread 804 in block 60\n",
"Hello World from Thread 805 in block 60\n",
"Hello World from Thread 806 in block 60\n",
"Hello World from Thread 807 in block 60\n",
"Hello World from Thread 808 in block 60\n",
"Hello World from Thread 809 in block 60\n",
"Hello World from Thread 810 in block 60\n",
"Hello World from Thread 811 in block 60\n",
"Hello World from Thread 812 in block 60\n",
"Hello World from Thread 813 in block 60\n",
"Hello World from Thread 814 in block 60\n",
"Hello World from Thread 815 in block 60\n",
"Hello World from Thread 816 in block 60\n",
"Hello World from Thread 817 in block 60\n",
"Hello World from Thread 818 in block 60\n",
"Hello World from Thread 819 in block 60\n",
"Hello World from Thread 820 in block 60\n",
"Hello World from Thread 821 in block 60\n",
"Hello World from Thread 822 in block 60\n",
"Hello World from Thread 823 in block 60\n",
"Hello World from Thread 824 in block 60\n",
"Hello World from Thread 825 in block 60\n",
"Hello World from Thread 826 in block 60\n",
"Hello World from Thread 827 in block 60\n",
"Hello World from Thread 828 in block 60\n",
"Hello World from Thread 829 in block 60\n",
"Hello World from Thread 830 in block 60\n",
"Hello World from Thread 831 in block 60\n",
"Hello World from Thread 224 in block 60\n",
"Hello World from Thread 225 in block 60\n",
"Hello World from Thread 226 in block 60\n",
"Hello World from Thread 227 in block 60\n",
"Hello World from Thread 228 in block 60\n",
"Hello World from Thread 229 in block 60\n",
"Hello World from Thread 230 in block 60\n",
"Hello World from Thread 231 in block 60\n",
"Hello World from Thread 232 in block 60\n",
"Hello World from Thread 233 in block 60\n",
"Hello World from Thread 234 in block 60\n",
"Hello World from Thread 235 in block 60\n",
"Hello World from Thread 236 in block 60\n",
"Hello World from Thread 237 in block 60\n",
"Hello World from Thread 238 in block 60\n",
"Hello World from Thread 239 in block 60\n",
"Hello World from Thread 240 in block 60\n",
"Hello World from Thread 241 in block 60\n",
"Hello World from Thread 242 in block 60\n",
"Hello World from Thread 243 in block 60\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 244 in block 60\n",
"Hello World from Thread 245 in block 60\n",
"Hello World from Thread 246 in block 60\n",
"Hello World from Thread 247 in block 60\n",
"Hello World from Thread 248 in block 60\n",
"Hello World from Thread 249 in block 60\n",
"Hello World from Thread 250 in block 60\n",
"Hello World from Thread 251 in block 60\n",
"Hello World from Thread 252 in block 60\n",
"Hello World from Thread 253 in block 60\n",
"Hello World from Thread 254 in block 60\n",
"Hello World from Thread 255 in block 60\n",
"Hello World from Thread 192 in block 60\n",
"Hello World from Thread 193 in block 60\n",
"Hello World from Thread 194 in block 60\n",
"Hello World from Thread 195 in block 60\n",
"Hello World from Thread 196 in block 60\n",
"Hello World from Thread 197 in block 60\n",
"Hello World from Thread 198 in block 60\n",
"Hello World from Thread 199 in block 60\n",
"Hello World from Thread 200 in block 60\n",
"Hello World from Thread 201 in block 60\n",
"Hello World from Thread 202 in block 60\n",
"Hello World from Thread 203 in block 60\n",
"Hello World from Thread 204 in block 60\n",
"Hello World from Thread 205 in block 60\n",
"Hello World from Thread 206 in block 60\n",
"Hello World from Thread 207 in block 60\n",
"Hello World from Thread 208 in block 60\n",
"Hello World from Thread 209 in block 60\n",
"Hello World from Thread 210 in block 60\n",
"Hello World from Thread 211 in block 60\n",
"Hello World from Thread 212 in block 60\n",
"Hello World from Thread 213 in block 60\n",
"Hello World from Thread 214 in block 60\n",
"Hello World from Thread 215 in block 60\n",
"Hello World from Thread 216 in block 60\n",
"Hello World from Thread 217 in block 60\n",
"Hello World from Thread 218 in block 60\n",
"Hello World from Thread 219 in block 60\n",
"Hello World from Thread 220 in block 60\n",
"Hello World from Thread 221 in block 60\n",
"Hello World from Thread 222 in block 60\n",
"Hello World from Thread 223 in block 60\n",
"Hello World from Thread 384 in block 60\n",
"Hello World from Thread 385 in block 60\n",
"Hello World from Thread 386 in block 60\n",
"Hello World from Thread 387 in block 60\n",
"Hello World from Thread 388 in block 60\n",
"Hello World from Thread 389 in block 60\n",
"Hello World from Thread 390 in block 60\n",
"Hello World from Thread 391 in block 60\n",
"Hello World from Thread 392 in block 60\n",
"Hello World from Thread 393 in block 60\n",
"Hello World from Thread 394 in block 60\n",
"Hello World from Thread 395 in block 60\n",
"Hello World from Thread 396 in block 60\n",
"Hello World from Thread 397 in block 60\n",
"Hello World from Thread 398 in block 60\n",
"Hello World from Thread 399 in block 60\n",
"Hello World from Thread 400 in block 60\n",
"Hello World from Thread 401 in block 60\n",
"Hello World from Thread 402 in block 60\n",
"Hello World from Thread 403 in block 60\n",
"Hello World from Thread 404 in block 60\n",
"Hello World from Thread 405 in block 60\n",
"Hello World from Thread 406 in block 60\n",
"Hello World from Thread 407 in block 60\n",
"Hello World from Thread 408 in block 60\n",
"Hello World from Thread 409 in block 60\n",
"Hello World from Thread 410 in block 60\n",
"Hello World from Thread 411 in block 60\n",
"Hello World from Thread 412 in block 60\n",
"Hello World from Thread 413 in block 60\n",
"Hello World from Thread 414 in block 60\n",
"Hello World from Thread 415 in block 60\n",
"Hello World from Thread 448 in block 60\n",
"Hello World from Thread 449 in block 60\n",
"Hello World from Thread 450 in block 60\n",
"Hello World from Thread 451 in block 60\n",
"Hello World from Thread 452 in block 60\n",
"Hello World from Thread 453 in block 60\n",
"Hello World from Thread 454 in block 60\n",
"Hello World from Thread 455 in block 60\n",
"Hello World from Thread 456 in block 60\n",
"Hello World from Thread 457 in block 60\n",
"Hello World from Thread 458 in block 60\n",
"Hello World from Thread 459 in block 60\n",
"Hello World from Thread 460 in block 60\n",
"Hello World from Thread 461 in block 60\n",
"Hello World from Thread 462 in block 60\n",
"Hello World from Thread 463 in block 60\n",
"Hello World from Thread 464 in block 60\n",
"Hello World from Thread 465 in block 60\n",
"Hello World from Thread 466 in block 60\n",
"Hello World from Thread 467 in block 60\n",
"Hello World from Thread 468 in block 60\n",
"Hello World from Thread 469 in block 60\n",
"Hello World from Thread 470 in block 60\n",
"Hello World from Thread 471 in block 60\n",
"Hello World from Thread 472 in block 60\n",
"Hello World from Thread 473 in block 60\n",
"Hello World from Thread 474 in block 60\n",
"Hello World from Thread 475 in block 60\n",
"Hello World from Thread 476 in block 60\n",
"Hello World from Thread 477 in block 60\n",
"Hello World from Thread 478 in block 60\n",
"Hello World from Thread 479 in block 60\n",
"Hello World from Thread 0 in block 60\n",
"Hello World from Thread 1 in block 60\n",
"Hello World from Thread 2 in block 60\n",
"Hello World from Thread 3 in block 60\n",
"Hello World from Thread 4 in block 60\n",
"Hello World from Thread 5 in block 60\n",
"Hello World from Thread 6 in block 60\n",
"Hello World from Thread 7 in block 60\n",
"Hello World from Thread 8 in block 60\n",
"Hello World from Thread 9 in block 60\n",
"Hello World from Thread 10 in block 60\n",
"Hello World from Thread 11 in block 60\n",
"Hello World from Thread 12 in block 60\n",
"Hello World from Thread 13 in block 60\n",
"Hello World from Thread 14 in block 60\n",
"Hello World from Thread 15 in block 60\n",
"Hello World from Thread 16 in block 60\n",
"Hello World from Thread 17 in block 60\n",
"Hello World from Thread 18 in block 60\n",
"Hello World from Thread 19 in block 60\n",
"Hello World from Thread 20 in block 60\n",
"Hello World from Thread 21 in block 60\n",
"Hello World from Thread 22 in block 60\n",
"Hello World from Thread 23 in block 60\n",
"Hello World from Thread 24 in block 60\n",
"Hello World from Thread 25 in block 60\n",
"Hello World from Thread 26 in block 60\n",
"Hello World from Thread 27 in block 60\n",
"Hello World from Thread 28 in block 60\n",
"Hello World from Thread 29 in block 60\n",
"Hello World from Thread 30 in block 60\n",
"Hello World from Thread 31 in block 60\n",
"Hello World from Thread 768 in block 60\n",
"Hello World from Thread 769 in block 60\n",
"Hello World from Thread 770 in block 60\n",
"Hello World from Thread 771 in block 60\n",
"Hello World from Thread 772 in block 60\n",
"Hello World from Thread 773 in block 60\n",
"Hello World from Thread 774 in block 60\n",
"Hello World from Thread 775 in block 60\n",
"Hello World from Thread 776 in block 60\n",
"Hello World from Thread 777 in block 60\n",
"Hello World from Thread 778 in block 60\n",
"Hello World from Thread 779 in block 60\n",
"Hello World from Thread 780 in block 60\n",
"Hello World from Thread 781 in block 60\n",
"Hello World from Thread 782 in block 60\n",
"Hello World from Thread 783 in block 60\n",
"Hello World from Thread 784 in block 60\n",
"Hello World from Thread 785 in block 60\n",
"Hello World from Thread 786 in block 60\n",
"Hello World from Thread 787 in block 60\n",
"Hello World from Thread 788 in block 60\n",
"Hello World from Thread 789 in block 60\n",
"Hello World from Thread 790 in block 60\n",
"Hello World from Thread 791 in block 60\n",
"Hello World from Thread 792 in block 60\n",
"Hello World from Thread 793 in block 60\n",
"Hello World from Thread 794 in block 60\n",
"Hello World from Thread 795 in block 60\n",
"Hello World from Thread 796 in block 60\n",
"Hello World from Thread 797 in block 60\n",
"Hello World from Thread 798 in block 60\n",
"Hello World from Thread 799 in block 60\n",
"Hello World from Thread 256 in block 60\n",
"Hello World from Thread 257 in block 60\n",
"Hello World from Thread 258 in block 60\n",
"Hello World from Thread 259 in block 60\n",
"Hello World from Thread 260 in block 60\n",
"Hello World from Thread 261 in block 60\n",
"Hello World from Thread 262 in block 60\n",
"Hello World from Thread 263 in block 60\n",
"Hello World from Thread 264 in block 60\n",
"Hello World from Thread 265 in block 60\n",
"Hello World from Thread 266 in block 60\n",
"Hello World from Thread 267 in block 60\n",
"Hello World from Thread 268 in block 60\n",
"Hello World from Thread 269 in block 60\n",
"Hello World from Thread 270 in block 60\n",
"Hello World from Thread 271 in block 60\n",
"Hello World from Thread 272 in block 60\n",
"Hello World from Thread 273 in block 60\n",
"Hello World from Thread 274 in block 60\n",
"Hello World from Thread 275 in block 60\n",
"Hello World from Thread 276 in block 60\n",
"Hello World from Thread 277 in block 60\n",
"Hello World from Thread 278 in block 60\n",
"Hello World from Thread 279 in block 60\n",
"Hello World from Thread 280 in block 60\n",
"Hello World from Thread 281 in block 60\n",
"Hello World from Thread 282 in block 60\n",
"Hello World from Thread 283 in block 60\n",
"Hello World from Thread 284 in block 60\n",
"Hello World from Thread 285 in block 60\n",
"Hello World from Thread 286 in block 60\n",
"Hello World from Thread 287 in block 60\n",
"Hello World from Thread 448 in block 61\n",
"Hello World from Thread 449 in block 61\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 450 in block 61\n",
"Hello World from Thread 451 in block 61\n",
"Hello World from Thread 452 in block 61\n",
"Hello World from Thread 453 in block 61\n",
"Hello World from Thread 454 in block 61\n",
"Hello World from Thread 455 in block 61\n",
"Hello World from Thread 456 in block 61\n",
"Hello World from Thread 457 in block 61\n",
"Hello World from Thread 458 in block 61\n",
"Hello World from Thread 459 in block 61\n",
"Hello World from Thread 460 in block 61\n",
"Hello World from Thread 461 in block 61\n",
"Hello World from Thread 462 in block 61\n",
"Hello World from Thread 463 in block 61\n",
"Hello World from Thread 464 in block 61\n",
"Hello World from Thread 465 in block 61\n",
"Hello World from Thread 466 in block 61\n",
"Hello World from Thread 467 in block 61\n",
"Hello World from Thread 468 in block 61\n",
"Hello World from Thread 469 in block 61\n",
"Hello World from Thread 470 in block 61\n",
"Hello World from Thread 471 in block 61\n",
"Hello World from Thread 472 in block 61\n",
"Hello World from Thread 473 in block 61\n",
"Hello World from Thread 474 in block 61\n",
"Hello World from Thread 475 in block 61\n",
"Hello World from Thread 476 in block 61\n",
"Hello World from Thread 477 in block 61\n",
"Hello World from Thread 478 in block 61\n",
"Hello World from Thread 479 in block 61\n",
"Hello World from Thread 160 in block 61\n",
"Hello World from Thread 161 in block 61\n",
"Hello World from Thread 162 in block 61\n",
"Hello World from Thread 163 in block 61\n",
"Hello World from Thread 164 in block 61\n",
"Hello World from Thread 165 in block 61\n",
"Hello World from Thread 166 in block 61\n",
"Hello World from Thread 167 in block 61\n",
"Hello World from Thread 168 in block 61\n",
"Hello World from Thread 169 in block 61\n",
"Hello World from Thread 170 in block 61\n",
"Hello World from Thread 171 in block 61\n",
"Hello World from Thread 172 in block 61\n",
"Hello World from Thread 173 in block 61\n",
"Hello World from Thread 174 in block 61\n",
"Hello World from Thread 175 in block 61\n",
"Hello World from Thread 176 in block 61\n",
"Hello World from Thread 177 in block 61\n",
"Hello World from Thread 178 in block 61\n",
"Hello World from Thread 179 in block 61\n",
"Hello World from Thread 180 in block 61\n",
"Hello World from Thread 181 in block 61\n",
"Hello World from Thread 182 in block 61\n",
"Hello World from Thread 183 in block 61\n",
"Hello World from Thread 184 in block 61\n",
"Hello World from Thread 185 in block 61\n",
"Hello World from Thread 186 in block 61\n",
"Hello World from Thread 187 in block 61\n",
"Hello World from Thread 188 in block 61\n",
"Hello World from Thread 189 in block 61\n",
"Hello World from Thread 190 in block 61\n",
"Hello World from Thread 191 in block 61\n",
"Hello World from Thread 608 in block 61\n",
"Hello World from Thread 609 in block 61\n",
"Hello World from Thread 610 in block 61\n",
"Hello World from Thread 611 in block 61\n",
"Hello World from Thread 612 in block 61\n",
"Hello World from Thread 613 in block 61\n",
"Hello World from Thread 614 in block 61\n",
"Hello World from Thread 615 in block 61\n",
"Hello World from Thread 616 in block 61\n",
"Hello World from Thread 617 in block 61\n",
"Hello World from Thread 618 in block 61\n",
"Hello World from Thread 619 in block 61\n",
"Hello World from Thread 620 in block 61\n",
"Hello World from Thread 621 in block 61\n",
"Hello World from Thread 622 in block 61\n",
"Hello World from Thread 623 in block 61\n",
"Hello World from Thread 624 in block 61\n",
"Hello World from Thread 625 in block 61\n",
"Hello World from Thread 626 in block 61\n",
"Hello World from Thread 627 in block 61\n",
"Hello World from Thread 628 in block 61\n",
"Hello World from Thread 629 in block 61\n",
"Hello World from Thread 630 in block 61\n",
"Hello World from Thread 631 in block 61\n",
"Hello World from Thread 632 in block 61\n",
"Hello World from Thread 633 in block 61\n",
"Hello World from Thread 634 in block 61\n",
"Hello World from Thread 635 in block 61\n",
"Hello World from Thread 636 in block 61\n",
"Hello World from Thread 637 in block 61\n",
"Hello World from Thread 638 in block 61\n",
"Hello World from Thread 639 in block 61\n",
"Hello World from Thread 672 in block 61\n",
"Hello World from Thread 673 in block 61\n",
"Hello World from Thread 674 in block 61\n",
"Hello World from Thread 675 in block 61\n",
"Hello World from Thread 676 in block 61\n",
"Hello World from Thread 677 in block 61\n",
"Hello World from Thread 678 in block 61\n",
"Hello World from Thread 679 in block 61\n",
"Hello World from Thread 680 in block 61\n",
"Hello World from Thread 681 in block 61\n",
"Hello World from Thread 682 in block 61\n",
"Hello World from Thread 683 in block 61\n",
"Hello World from Thread 684 in block 61\n",
"Hello World from Thread 685 in block 61\n",
"Hello World from Thread 686 in block 61\n",
"Hello World from Thread 687 in block 61\n",
"Hello World from Thread 688 in block 61\n",
"Hello World from Thread 689 in block 61\n",
"Hello World from Thread 690 in block 61\n",
"Hello World from Thread 691 in block 61\n",
"Hello World from Thread 692 in block 61\n",
"Hello World from Thread 693 in block 61\n",
"Hello World from Thread 694 in block 61\n",
"Hello World from Thread 695 in block 61\n",
"Hello World from Thread 696 in block 61\n",
"Hello World from Thread 697 in block 61\n",
"Hello World from Thread 698 in block 61\n",
"Hello World from Thread 699 in block 61\n",
"Hello World from Thread 700 in block 61\n",
"Hello World from Thread 701 in block 61\n",
"Hello World from Thread 702 in block 61\n",
"Hello World from Thread 703 in block 61\n",
"Hello World from Thread 480 in block 61\n",
"Hello World from Thread 481 in block 61\n",
"Hello World from Thread 482 in block 61\n",
"Hello World from Thread 483 in block 61\n",
"Hello World from Thread 484 in block 61\n",
"Hello World from Thread 485 in block 61\n",
"Hello World from Thread 486 in block 61\n",
"Hello World from Thread 487 in block 61\n",
"Hello World from Thread 488 in block 61\n",
"Hello World from Thread 489 in block 61\n",
"Hello World from Thread 490 in block 61\n",
"Hello World from Thread 491 in block 61\n",
"Hello World from Thread 492 in block 61\n",
"Hello World from Thread 493 in block 61\n",
"Hello World from Thread 494 in block 61\n",
"Hello World from Thread 495 in block 61\n",
"Hello World from Thread 496 in block 61\n",
"Hello World from Thread 497 in block 61\n",
"Hello World from Thread 498 in block 61\n",
"Hello World from Thread 499 in block 61\n",
"Hello World from Thread 500 in block 61\n",
"Hello World from Thread 501 in block 61\n",
"Hello World from Thread 502 in block 61\n",
"Hello World from Thread 503 in block 61\n",
"Hello World from Thread 504 in block 61\n",
"Hello World from Thread 505 in block 61\n",
"Hello World from Thread 506 in block 61\n",
"Hello World from Thread 507 in block 61\n",
"Hello World from Thread 508 in block 61\n",
"Hello World from Thread 509 in block 61\n",
"Hello World from Thread 510 in block 61\n",
"Hello World from Thread 511 in block 61\n",
"Hello World from Thread 192 in block 61\n",
"Hello World from Thread 193 in block 61\n",
"Hello World from Thread 194 in block 61\n",
"Hello World from Thread 195 in block 61\n",
"Hello World from Thread 196 in block 61\n",
"Hello World from Thread 197 in block 61\n",
"Hello World from Thread 198 in block 61\n",
"Hello World from Thread 199 in block 61\n",
"Hello World from Thread 200 in block 61\n",
"Hello World from Thread 201 in block 61\n",
"Hello World from Thread 202 in block 61\n",
"Hello World from Thread 203 in block 61\n",
"Hello World from Thread 204 in block 61\n",
"Hello World from Thread 205 in block 61\n",
"Hello World from Thread 206 in block 61\n",
"Hello World from Thread 207 in block 61\n",
"Hello World from Thread 208 in block 61\n",
"Hello World from Thread 209 in block 61\n",
"Hello World from Thread 210 in block 61\n",
"Hello World from Thread 211 in block 61\n",
"Hello World from Thread 212 in block 61\n",
"Hello World from Thread 213 in block 61\n",
"Hello World from Thread 214 in block 61\n",
"Hello World from Thread 215 in block 61\n",
"Hello World from Thread 216 in block 61\n",
"Hello World from Thread 217 in block 61\n",
"Hello World from Thread 218 in block 61\n",
"Hello World from Thread 219 in block 61\n",
"Hello World from Thread 220 in block 61\n",
"Hello World from Thread 221 in block 61\n",
"Hello World from Thread 222 in block 61\n",
"Hello World from Thread 223 in block 61\n",
"Hello World from Thread 864 in block 61\n",
"Hello World from Thread 865 in block 61\n",
"Hello World from Thread 866 in block 61\n",
"Hello World from Thread 867 in block 61\n",
"Hello World from Thread 868 in block 61\n",
"Hello World from Thread 869 in block 61\n",
"Hello World from Thread 870 in block 61\n",
"Hello World from Thread 871 in block 61\n",
"Hello World from Thread 872 in block 61\n",
"Hello World from Thread 873 in block 61\n",
"Hello World from Thread 874 in block 61\n",
"Hello World from Thread 875 in block 61\n",
"Hello World from Thread 876 in block 61\n",
"Hello World from Thread 877 in block 61\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 878 in block 61\n",
"Hello World from Thread 879 in block 61\n",
"Hello World from Thread 880 in block 61\n",
"Hello World from Thread 881 in block 61\n",
"Hello World from Thread 882 in block 61\n",
"Hello World from Thread 883 in block 61\n",
"Hello World from Thread 884 in block 61\n",
"Hello World from Thread 885 in block 61\n",
"Hello World from Thread 886 in block 61\n",
"Hello World from Thread 887 in block 61\n",
"Hello World from Thread 888 in block 61\n",
"Hello World from Thread 889 in block 61\n",
"Hello World from Thread 890 in block 61\n",
"Hello World from Thread 891 in block 61\n",
"Hello World from Thread 892 in block 61\n",
"Hello World from Thread 893 in block 61\n",
"Hello World from Thread 894 in block 61\n",
"Hello World from Thread 895 in block 61\n",
"Hello World from Thread 320 in block 61\n",
"Hello World from Thread 321 in block 61\n",
"Hello World from Thread 322 in block 61\n",
"Hello World from Thread 323 in block 61\n",
"Hello World from Thread 324 in block 61\n",
"Hello World from Thread 325 in block 61\n",
"Hello World from Thread 326 in block 61\n",
"Hello World from Thread 327 in block 61\n",
"Hello World from Thread 328 in block 61\n",
"Hello World from Thread 329 in block 61\n",
"Hello World from Thread 330 in block 61\n",
"Hello World from Thread 331 in block 61\n",
"Hello World from Thread 332 in block 61\n",
"Hello World from Thread 333 in block 61\n",
"Hello World from Thread 334 in block 61\n",
"Hello World from Thread 335 in block 61\n",
"Hello World from Thread 336 in block 61\n",
"Hello World from Thread 337 in block 61\n",
"Hello World from Thread 338 in block 61\n",
"Hello World from Thread 339 in block 61\n",
"Hello World from Thread 340 in block 61\n",
"Hello World from Thread 341 in block 61\n",
"Hello World from Thread 342 in block 61\n",
"Hello World from Thread 343 in block 61\n",
"Hello World from Thread 344 in block 61\n",
"Hello World from Thread 345 in block 61\n",
"Hello World from Thread 346 in block 61\n",
"Hello World from Thread 347 in block 61\n",
"Hello World from Thread 348 in block 61\n",
"Hello World from Thread 349 in block 61\n",
"Hello World from Thread 350 in block 61\n",
"Hello World from Thread 351 in block 61\n",
"Hello World from Thread 352 in block 61\n",
"Hello World from Thread 353 in block 61\n",
"Hello World from Thread 354 in block 61\n",
"Hello World from Thread 355 in block 61\n",
"Hello World from Thread 356 in block 61\n",
"Hello World from Thread 357 in block 61\n",
"Hello World from Thread 358 in block 61\n",
"Hello World from Thread 359 in block 61\n",
"Hello World from Thread 360 in block 61\n",
"Hello World from Thread 361 in block 61\n",
"Hello World from Thread 362 in block 61\n",
"Hello World from Thread 363 in block 61\n",
"Hello World from Thread 364 in block 61\n",
"Hello World from Thread 365 in block 61\n",
"Hello World from Thread 366 in block 61\n",
"Hello World from Thread 367 in block 61\n",
"Hello World from Thread 368 in block 61\n",
"Hello World from Thread 369 in block 61\n",
"Hello World from Thread 370 in block 61\n",
"Hello World from Thread 371 in block 61\n",
"Hello World from Thread 372 in block 61\n",
"Hello World from Thread 373 in block 61\n",
"Hello World from Thread 374 in block 61\n",
"Hello World from Thread 375 in block 61\n",
"Hello World from Thread 376 in block 61\n",
"Hello World from Thread 377 in block 61\n",
"Hello World from Thread 378 in block 61\n",
"Hello World from Thread 379 in block 61\n",
"Hello World from Thread 380 in block 61\n",
"Hello World from Thread 381 in block 61\n",
"Hello World from Thread 382 in block 61\n",
"Hello World from Thread 383 in block 61\n",
"Hello World from Thread 224 in block 61\n",
"Hello World from Thread 225 in block 61\n",
"Hello World from Thread 226 in block 61\n",
"Hello World from Thread 227 in block 61\n",
"Hello World from Thread 228 in block 61\n",
"Hello World from Thread 229 in block 61\n",
"Hello World from Thread 230 in block 61\n",
"Hello World from Thread 231 in block 61\n",
"Hello World from Thread 232 in block 61\n",
"Hello World from Thread 233 in block 61\n",
"Hello World from Thread 234 in block 61\n",
"Hello World from Thread 235 in block 61\n",
"Hello World from Thread 236 in block 61\n",
"Hello World from Thread 237 in block 61\n",
"Hello World from Thread 238 in block 61\n",
"Hello World from Thread 239 in block 61\n",
"Hello World from Thread 240 in block 61\n",
"Hello World from Thread 241 in block 61\n",
"Hello World from Thread 242 in block 61\n",
"Hello World from Thread 243 in block 61\n",
"Hello World from Thread 244 in block 61\n",
"Hello World from Thread 245 in block 61\n",
"Hello World from Thread 246 in block 61\n",
"Hello World from Thread 247 in block 61\n",
"Hello World from Thread 248 in block 61\n",
"Hello World from Thread 249 in block 61\n",
"Hello World from Thread 250 in block 61\n",
"Hello World from Thread 251 in block 61\n",
"Hello World from Thread 252 in block 61\n",
"Hello World from Thread 253 in block 61\n",
"Hello World from Thread 254 in block 61\n",
"Hello World from Thread 255 in block 61\n",
"Hello World from Thread 416 in block 61\n",
"Hello World from Thread 417 in block 61\n",
"Hello World from Thread 418 in block 61\n",
"Hello World from Thread 419 in block 61\n",
"Hello World from Thread 420 in block 61\n",
"Hello World from Thread 421 in block 61\n",
"Hello World from Thread 422 in block 61\n",
"Hello World from Thread 423 in block 61\n",
"Hello World from Thread 424 in block 61\n",
"Hello World from Thread 425 in block 61\n",
"Hello World from Thread 426 in block 61\n",
"Hello World from Thread 427 in block 61\n",
"Hello World from Thread 428 in block 61\n",
"Hello World from Thread 429 in block 61\n",
"Hello World from Thread 430 in block 61\n",
"Hello World from Thread 431 in block 61\n",
"Hello World from Thread 432 in block 61\n",
"Hello World from Thread 433 in block 61\n",
"Hello World from Thread 434 in block 61\n",
"Hello World from Thread 435 in block 61\n",
"Hello World from Thread 436 in block 61\n",
"Hello World from Thread 437 in block 61\n",
"Hello World from Thread 438 in block 61\n",
"Hello World from Thread 439 in block 61\n",
"Hello World from Thread 440 in block 61\n",
"Hello World from Thread 441 in block 61\n",
"Hello World from Thread 442 in block 61\n",
"Hello World from Thread 443 in block 61\n",
"Hello World from Thread 444 in block 61\n",
"Hello World from Thread 445 in block 61\n",
"Hello World from Thread 446 in block 61\n",
"Hello World from Thread 447 in block 61\n",
"Hello World from Thread 384 in block 61\n",
"Hello World from Thread 385 in block 61\n",
"Hello World from Thread 386 in block 61\n",
"Hello World from Thread 387 in block 61\n",
"Hello World from Thread 388 in block 61\n",
"Hello World from Thread 389 in block 61\n",
"Hello World from Thread 390 in block 61\n",
"Hello World from Thread 391 in block 61\n",
"Hello World from Thread 392 in block 61\n",
"Hello World from Thread 393 in block 61\n",
"Hello World from Thread 394 in block 61\n",
"Hello World from Thread 395 in block 61\n",
"Hello World from Thread 396 in block 61\n",
"Hello World from Thread 397 in block 61\n",
"Hello World from Thread 398 in block 61\n",
"Hello World from Thread 399 in block 61\n",
"Hello World from Thread 400 in block 61\n",
"Hello World from Thread 401 in block 61\n",
"Hello World from Thread 402 in block 61\n",
"Hello World from Thread 403 in block 61\n",
"Hello World from Thread 404 in block 61\n",
"Hello World from Thread 405 in block 61\n",
"Hello World from Thread 406 in block 61\n",
"Hello World from Thread 407 in block 61\n",
"Hello World from Thread 408 in block 61\n",
"Hello World from Thread 409 in block 61\n",
"Hello World from Thread 410 in block 61\n",
"Hello World from Thread 411 in block 61\n",
"Hello World from Thread 412 in block 61\n",
"Hello World from Thread 413 in block 61\n",
"Hello World from Thread 414 in block 61\n",
"Hello World from Thread 415 in block 61\n",
"Hello World from Thread 544 in block 61\n",
"Hello World from Thread 545 in block 61\n",
"Hello World from Thread 546 in block 61\n",
"Hello World from Thread 547 in block 61\n",
"Hello World from Thread 548 in block 61\n",
"Hello World from Thread 549 in block 61\n",
"Hello World from Thread 550 in block 61\n",
"Hello World from Thread 551 in block 61\n",
"Hello World from Thread 552 in block 61\n",
"Hello World from Thread 553 in block 61\n",
"Hello World from Thread 554 in block 61\n",
"Hello World from Thread 555 in block 61\n",
"Hello World from Thread 556 in block 61\n",
"Hello World from Thread 557 in block 61\n",
"Hello World from Thread 558 in block 61\n",
"Hello World from Thread 559 in block 61\n",
"Hello World from Thread 560 in block 61\n",
"Hello World from Thread 561 in block 61\n",
"Hello World from Thread 562 in block 61\n",
"Hello World from Thread 563 in block 61\n",
"Hello World from Thread 564 in block 61\n",
"Hello World from Thread 565 in block 61\n",
"Hello World from Thread 566 in block 61\n",
"Hello World from Thread 567 in block 61\n",
"Hello World from Thread 568 in block 61\n",
"Hello World from Thread 569 in block 61\n",
"Hello World from Thread 570 in block 61\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 571 in block 61\n",
"Hello World from Thread 572 in block 61\n",
"Hello World from Thread 573 in block 61\n",
"Hello World from Thread 574 in block 61\n",
"Hello World from Thread 575 in block 61\n",
"Hello World from Thread 800 in block 61\n",
"Hello World from Thread 801 in block 61\n",
"Hello World from Thread 802 in block 61\n",
"Hello World from Thread 803 in block 61\n",
"Hello World from Thread 804 in block 61\n",
"Hello World from Thread 805 in block 61\n",
"Hello World from Thread 806 in block 61\n",
"Hello World from Thread 807 in block 61\n",
"Hello World from Thread 808 in block 61\n",
"Hello World from Thread 809 in block 61\n",
"Hello World from Thread 810 in block 61\n",
"Hello World from Thread 811 in block 61\n",
"Hello World from Thread 812 in block 61\n",
"Hello World from Thread 813 in block 61\n",
"Hello World from Thread 814 in block 61\n",
"Hello World from Thread 815 in block 61\n",
"Hello World from Thread 816 in block 61\n",
"Hello World from Thread 817 in block 61\n",
"Hello World from Thread 818 in block 61\n",
"Hello World from Thread 819 in block 61\n",
"Hello World from Thread 820 in block 61\n",
"Hello World from Thread 821 in block 61\n",
"Hello World from Thread 822 in block 61\n",
"Hello World from Thread 823 in block 61\n",
"Hello World from Thread 824 in block 61\n",
"Hello World from Thread 825 in block 61\n",
"Hello World from Thread 826 in block 61\n",
"Hello World from Thread 827 in block 61\n",
"Hello World from Thread 828 in block 61\n",
"Hello World from Thread 829 in block 61\n",
"Hello World from Thread 830 in block 61\n",
"Hello World from Thread 831 in block 61\n",
"Hello World from Thread 64 in block 61\n",
"Hello World from Thread 65 in block 61\n",
"Hello World from Thread 66 in block 61\n",
"Hello World from Thread 67 in block 61\n",
"Hello World from Thread 68 in block 61\n",
"Hello World from Thread 69 in block 61\n",
"Hello World from Thread 70 in block 61\n",
"Hello World from Thread 71 in block 61\n",
"Hello World from Thread 72 in block 61\n",
"Hello World from Thread 73 in block 61\n",
"Hello World from Thread 74 in block 61\n",
"Hello World from Thread 75 in block 61\n",
"Hello World from Thread 76 in block 61\n",
"Hello World from Thread 77 in block 61\n",
"Hello World from Thread 78 in block 61\n",
"Hello World from Thread 79 in block 61\n",
"Hello World from Thread 80 in block 61\n",
"Hello World from Thread 81 in block 61\n",
"Hello World from Thread 82 in block 61\n",
"Hello World from Thread 83 in block 61\n",
"Hello World from Thread 84 in block 61\n",
"Hello World from Thread 85 in block 61\n",
"Hello World from Thread 86 in block 61\n",
"Hello World from Thread 87 in block 61\n",
"Hello World from Thread 88 in block 61\n",
"Hello World from Thread 89 in block 61\n",
"Hello World from Thread 90 in block 61\n",
"Hello World from Thread 91 in block 61\n",
"Hello World from Thread 92 in block 61\n",
"Hello World from Thread 93 in block 61\n",
"Hello World from Thread 94 in block 61\n",
"Hello World from Thread 95 in block 61\n",
"Hello World from Thread 96 in block 61\n",
"Hello World from Thread 97 in block 61\n",
"Hello World from Thread 98 in block 61\n",
"Hello World from Thread 99 in block 61\n",
"Hello World from Thread 100 in block 61\n",
"Hello World from Thread 101 in block 61\n",
"Hello World from Thread 102 in block 61\n",
"Hello World from Thread 103 in block 61\n",
"Hello World from Thread 104 in block 61\n",
"Hello World from Thread 105 in block 61\n",
"Hello World from Thread 106 in block 61\n",
"Hello World from Thread 107 in block 61\n",
"Hello World from Thread 108 in block 61\n",
"Hello World from Thread 109 in block 61\n",
"Hello World from Thread 110 in block 61\n",
"Hello World from Thread 111 in block 61\n",
"Hello World from Thread 112 in block 61\n",
"Hello World from Thread 113 in block 61\n",
"Hello World from Thread 114 in block 61\n",
"Hello World from Thread 115 in block 61\n",
"Hello World from Thread 116 in block 61\n",
"Hello World from Thread 117 in block 61\n",
"Hello World from Thread 118 in block 61\n",
"Hello World from Thread 119 in block 61\n",
"Hello World from Thread 120 in block 61\n",
"Hello World from Thread 121 in block 61\n",
"Hello World from Thread 122 in block 61\n",
"Hello World from Thread 123 in block 61\n",
"Hello World from Thread 124 in block 61\n",
"Hello World from Thread 125 in block 61\n",
"Hello World from Thread 126 in block 61\n",
"Hello World from Thread 127 in block 61\n",
"Hello World from Thread 928 in block 61\n",
"Hello World from Thread 929 in block 61\n",
"Hello World from Thread 930 in block 61\n",
"Hello World from Thread 931 in block 61\n",
"Hello World from Thread 932 in block 61\n",
"Hello World from Thread 933 in block 61\n",
"Hello World from Thread 934 in block 61\n",
"Hello World from Thread 935 in block 61\n",
"Hello World from Thread 936 in block 61\n",
"Hello World from Thread 937 in block 61\n",
"Hello World from Thread 938 in block 61\n",
"Hello World from Thread 939 in block 61\n",
"Hello World from Thread 940 in block 61\n",
"Hello World from Thread 941 in block 61\n",
"Hello World from Thread 942 in block 61\n",
"Hello World from Thread 943 in block 61\n",
"Hello World from Thread 944 in block 61\n",
"Hello World from Thread 945 in block 61\n",
"Hello World from Thread 946 in block 61\n",
"Hello World from Thread 947 in block 61\n",
"Hello World from Thread 948 in block 61\n",
"Hello World from Thread 949 in block 61\n",
"Hello World from Thread 950 in block 61\n",
"Hello World from Thread 951 in block 61\n",
"Hello World from Thread 952 in block 61\n",
"Hello World from Thread 953 in block 61\n",
"Hello World from Thread 954 in block 61\n",
"Hello World from Thread 955 in block 61\n",
"Hello World from Thread 956 in block 61\n",
"Hello World from Thread 957 in block 61\n",
"Hello World from Thread 958 in block 61\n",
"Hello World from Thread 959 in block 61\n",
"Hello World from Thread 992 in block 61\n",
"Hello World from Thread 993 in block 61\n",
"Hello World from Thread 994 in block 61\n",
"Hello World from Thread 995 in block 61\n",
"Hello World from Thread 996 in block 61\n",
"Hello World from Thread 997 in block 61\n",
"Hello World from Thread 998 in block 61\n",
"Hello World from Thread 999 in block 61\n",
"Hello World from Thread 1000 in block 61\n",
"Hello World from Thread 1001 in block 61\n",
"Hello World from Thread 1002 in block 61\n",
"Hello World from Thread 1003 in block 61\n",
"Hello World from Thread 1004 in block 61\n",
"Hello World from Thread 1005 in block 61\n",
"Hello World from Thread 1006 in block 61\n",
"Hello World from Thread 1007 in block 61\n",
"Hello World from Thread 1008 in block 61\n",
"Hello World from Thread 1009 in block 61\n",
"Hello World from Thread 1010 in block 61\n",
"Hello World from Thread 1011 in block 61\n",
"Hello World from Thread 1012 in block 61\n",
"Hello World from Thread 1013 in block 61\n",
"Hello World from Thread 1014 in block 61\n",
"Hello World from Thread 1015 in block 61\n",
"Hello World from Thread 1016 in block 61\n",
"Hello World from Thread 1017 in block 61\n",
"Hello World from Thread 1018 in block 61\n",
"Hello World from Thread 1019 in block 61\n",
"Hello World from Thread 1020 in block 61\n",
"Hello World from Thread 1021 in block 61\n",
"Hello World from Thread 1022 in block 61\n",
"Hello World from Thread 1023 in block 61\n",
"Hello World from Thread 960 in block 61\n",
"Hello World from Thread 961 in block 61\n",
"Hello World from Thread 962 in block 61\n",
"Hello World from Thread 963 in block 61\n",
"Hello World from Thread 964 in block 61\n",
"Hello World from Thread 965 in block 61\n",
"Hello World from Thread 966 in block 61\n",
"Hello World from Thread 967 in block 61\n",
"Hello World from Thread 968 in block 61\n",
"Hello World from Thread 969 in block 61\n",
"Hello World from Thread 970 in block 61\n",
"Hello World from Thread 971 in block 61\n",
"Hello World from Thread 972 in block 61\n",
"Hello World from Thread 973 in block 61\n",
"Hello World from Thread 974 in block 61\n",
"Hello World from Thread 975 in block 61\n",
"Hello World from Thread 976 in block 61\n",
"Hello World from Thread 977 in block 61\n",
"Hello World from Thread 978 in block 61\n",
"Hello World from Thread 979 in block 61\n",
"Hello World from Thread 980 in block 61\n",
"Hello World from Thread 981 in block 61\n",
"Hello World from Thread 982 in block 61\n",
"Hello World from Thread 983 in block 61\n",
"Hello World from Thread 984 in block 61\n",
"Hello World from Thread 985 in block 61\n",
"Hello World from Thread 986 in block 61\n",
"Hello World from Thread 987 in block 61\n",
"Hello World from Thread 988 in block 61\n",
"Hello World from Thread 989 in block 61\n",
"Hello World from Thread 990 in block 61\n",
"Hello World from Thread 991 in block 61\n",
"Hello World from Thread 576 in block 61\n",
"Hello World from Thread 577 in block 61\n",
"Hello World from Thread 578 in block 61\n",
"Hello World from Thread 579 in block 61\n",
"Hello World from Thread 580 in block 61\n",
"Hello World from Thread 581 in block 61\n",
"Hello World from Thread 582 in block 61\n",
"Hello World from Thread 583 in block 61\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 584 in block 61\n",
"Hello World from Thread 585 in block 61\n",
"Hello World from Thread 586 in block 61\n",
"Hello World from Thread 587 in block 61\n",
"Hello World from Thread 588 in block 61\n",
"Hello World from Thread 589 in block 61\n",
"Hello World from Thread 590 in block 61\n",
"Hello World from Thread 591 in block 61\n",
"Hello World from Thread 592 in block 61\n",
"Hello World from Thread 593 in block 61\n",
"Hello World from Thread 594 in block 61\n",
"Hello World from Thread 595 in block 61\n",
"Hello World from Thread 596 in block 61\n",
"Hello World from Thread 597 in block 61\n",
"Hello World from Thread 598 in block 61\n",
"Hello World from Thread 599 in block 61\n",
"Hello World from Thread 600 in block 61\n",
"Hello World from Thread 601 in block 61\n",
"Hello World from Thread 602 in block 61\n",
"Hello World from Thread 603 in block 61\n",
"Hello World from Thread 604 in block 61\n",
"Hello World from Thread 605 in block 61\n",
"Hello World from Thread 606 in block 61\n",
"Hello World from Thread 607 in block 61\n",
"Hello World from Thread 448 in block 62\n",
"Hello World from Thread 449 in block 62\n",
"Hello World from Thread 450 in block 62\n",
"Hello World from Thread 451 in block 62\n",
"Hello World from Thread 452 in block 62\n",
"Hello World from Thread 453 in block 62\n",
"Hello World from Thread 454 in block 62\n",
"Hello World from Thread 455 in block 62\n",
"Hello World from Thread 456 in block 62\n",
"Hello World from Thread 457 in block 62\n",
"Hello World from Thread 458 in block 62\n",
"Hello World from Thread 459 in block 62\n",
"Hello World from Thread 460 in block 62\n",
"Hello World from Thread 461 in block 62\n",
"Hello World from Thread 462 in block 62\n",
"Hello World from Thread 463 in block 62\n",
"Hello World from Thread 464 in block 62\n",
"Hello World from Thread 465 in block 62\n",
"Hello World from Thread 466 in block 62\n",
"Hello World from Thread 467 in block 62\n",
"Hello World from Thread 468 in block 62\n",
"Hello World from Thread 469 in block 62\n",
"Hello World from Thread 470 in block 62\n",
"Hello World from Thread 471 in block 62\n",
"Hello World from Thread 472 in block 62\n",
"Hello World from Thread 473 in block 62\n",
"Hello World from Thread 474 in block 62\n",
"Hello World from Thread 475 in block 62\n",
"Hello World from Thread 476 in block 62\n",
"Hello World from Thread 477 in block 62\n",
"Hello World from Thread 478 in block 62\n",
"Hello World from Thread 479 in block 62\n",
"Hello World from Thread 736 in block 62\n",
"Hello World from Thread 737 in block 62\n",
"Hello World from Thread 738 in block 62\n",
"Hello World from Thread 739 in block 62\n",
"Hello World from Thread 740 in block 62\n",
"Hello World from Thread 741 in block 62\n",
"Hello World from Thread 742 in block 62\n",
"Hello World from Thread 743 in block 62\n",
"Hello World from Thread 744 in block 62\n",
"Hello World from Thread 745 in block 62\n",
"Hello World from Thread 746 in block 62\n",
"Hello World from Thread 747 in block 62\n",
"Hello World from Thread 748 in block 62\n",
"Hello World from Thread 749 in block 62\n",
"Hello World from Thread 750 in block 62\n",
"Hello World from Thread 751 in block 62\n",
"Hello World from Thread 752 in block 62\n",
"Hello World from Thread 753 in block 62\n",
"Hello World from Thread 754 in block 62\n",
"Hello World from Thread 755 in block 62\n",
"Hello World from Thread 756 in block 62\n",
"Hello World from Thread 757 in block 62\n",
"Hello World from Thread 758 in block 62\n",
"Hello World from Thread 759 in block 62\n",
"Hello World from Thread 760 in block 62\n",
"Hello World from Thread 761 in block 62\n",
"Hello World from Thread 762 in block 62\n",
"Hello World from Thread 763 in block 62\n",
"Hello World from Thread 764 in block 62\n",
"Hello World from Thread 765 in block 62\n",
"Hello World from Thread 766 in block 62\n",
"Hello World from Thread 767 in block 62\n",
"Hello World from Thread 32 in block 61\n",
"Hello World from Thread 33 in block 61\n",
"Hello World from Thread 34 in block 61\n",
"Hello World from Thread 35 in block 61\n",
"Hello World from Thread 36 in block 61\n",
"Hello World from Thread 37 in block 61\n",
"Hello World from Thread 38 in block 61\n",
"Hello World from Thread 39 in block 61\n",
"Hello World from Thread 40 in block 61\n",
"Hello World from Thread 41 in block 61\n",
"Hello World from Thread 42 in block 61\n",
"Hello World from Thread 43 in block 61\n",
"Hello World from Thread 44 in block 61\n",
"Hello World from Thread 45 in block 61\n",
"Hello World from Thread 46 in block 61\n",
"Hello World from Thread 47 in block 61\n",
"Hello World from Thread 48 in block 61\n",
"Hello World from Thread 49 in block 61\n",
"Hello World from Thread 50 in block 61\n",
"Hello World from Thread 51 in block 61\n",
"Hello World from Thread 52 in block 61\n",
"Hello World from Thread 53 in block 61\n",
"Hello World from Thread 54 in block 61\n",
"Hello World from Thread 55 in block 61\n",
"Hello World from Thread 56 in block 61\n",
"Hello World from Thread 57 in block 61\n",
"Hello World from Thread 58 in block 61\n",
"Hello World from Thread 59 in block 61\n",
"Hello World from Thread 60 in block 61\n",
"Hello World from Thread 61 in block 61\n",
"Hello World from Thread 62 in block 61\n",
"Hello World from Thread 63 in block 61\n",
"Hello World from Thread 832 in block 62\n",
"Hello World from Thread 833 in block 62\n",
"Hello World from Thread 834 in block 62\n",
"Hello World from Thread 835 in block 62\n",
"Hello World from Thread 836 in block 62\n",
"Hello World from Thread 837 in block 62\n",
"Hello World from Thread 838 in block 62\n",
"Hello World from Thread 839 in block 62\n",
"Hello World from Thread 840 in block 62\n",
"Hello World from Thread 841 in block 62\n",
"Hello World from Thread 842 in block 62\n",
"Hello World from Thread 843 in block 62\n",
"Hello World from Thread 844 in block 62\n",
"Hello World from Thread 845 in block 62\n",
"Hello World from Thread 846 in block 62\n",
"Hello World from Thread 847 in block 62\n",
"Hello World from Thread 848 in block 62\n",
"Hello World from Thread 849 in block 62\n",
"Hello World from Thread 850 in block 62\n",
"Hello World from Thread 851 in block 62\n",
"Hello World from Thread 852 in block 62\n",
"Hello World from Thread 853 in block 62\n",
"Hello World from Thread 854 in block 62\n",
"Hello World from Thread 855 in block 62\n",
"Hello World from Thread 856 in block 62\n",
"Hello World from Thread 857 in block 62\n",
"Hello World from Thread 858 in block 62\n",
"Hello World from Thread 859 in block 62\n",
"Hello World from Thread 860 in block 62\n",
"Hello World from Thread 861 in block 62\n",
"Hello World from Thread 862 in block 62\n",
"Hello World from Thread 863 in block 62\n",
"Hello World from Thread 384 in block 62\n",
"Hello World from Thread 385 in block 62\n",
"Hello World from Thread 386 in block 62\n",
"Hello World from Thread 387 in block 62\n",
"Hello World from Thread 388 in block 62\n",
"Hello World from Thread 389 in block 62\n",
"Hello World from Thread 390 in block 62\n",
"Hello World from Thread 391 in block 62\n",
"Hello World from Thread 392 in block 62\n",
"Hello World from Thread 393 in block 62\n",
"Hello World from Thread 394 in block 62\n",
"Hello World from Thread 395 in block 62\n",
"Hello World from Thread 396 in block 62\n",
"Hello World from Thread 397 in block 62\n",
"Hello World from Thread 398 in block 62\n",
"Hello World from Thread 399 in block 62\n",
"Hello World from Thread 400 in block 62\n",
"Hello World from Thread 401 in block 62\n",
"Hello World from Thread 402 in block 62\n",
"Hello World from Thread 403 in block 62\n",
"Hello World from Thread 404 in block 62\n",
"Hello World from Thread 405 in block 62\n",
"Hello World from Thread 406 in block 62\n",
"Hello World from Thread 407 in block 62\n",
"Hello World from Thread 408 in block 62\n",
"Hello World from Thread 409 in block 62\n",
"Hello World from Thread 410 in block 62\n",
"Hello World from Thread 411 in block 62\n",
"Hello World from Thread 412 in block 62\n",
"Hello World from Thread 413 in block 62\n",
"Hello World from Thread 414 in block 62\n",
"Hello World from Thread 415 in block 62\n",
"Hello World from Thread 544 in block 62\n",
"Hello World from Thread 545 in block 62\n",
"Hello World from Thread 546 in block 62\n",
"Hello World from Thread 547 in block 62\n",
"Hello World from Thread 548 in block 62\n",
"Hello World from Thread 549 in block 62\n",
"Hello World from Thread 550 in block 62\n",
"Hello World from Thread 551 in block 62\n",
"Hello World from Thread 552 in block 62\n",
"Hello World from Thread 553 in block 62\n",
"Hello World from Thread 554 in block 62\n",
"Hello World from Thread 555 in block 62\n",
"Hello World from Thread 556 in block 62\n",
"Hello World from Thread 557 in block 62\n",
"Hello World from Thread 558 in block 62\n",
"Hello World from Thread 559 in block 62\n",
"Hello World from Thread 560 in block 62\n",
"Hello World from Thread 561 in block 62\n",
"Hello World from Thread 562 in block 62\n",
"Hello World from Thread 563 in block 62\n",
"Hello World from Thread 564 in block 62\n",
"Hello World from Thread 565 in block 62\n",
"Hello World from Thread 566 in block 62\n",
"Hello World from Thread 567 in block 62\n",
"Hello World from Thread 568 in block 62\n",
"Hello World from Thread 569 in block 62\n",
"Hello World from Thread 570 in block 62\n",
"Hello World from Thread 571 in block 62\n",
"Hello World from Thread 572 in block 62\n",
"Hello World from Thread 573 in block 62\n",
"Hello World from Thread 574 in block 62\n",
"Hello World from Thread 575 in block 62\n",
"Hello World from Thread 864 in block 62\n",
"Hello World from Thread 865 in block 62\n",
"Hello World from Thread 866 in block 62\n",
"Hello World from Thread 867 in block 62\n",
"Hello World from Thread 868 in block 62\n",
"Hello World from Thread 869 in block 62\n",
"Hello World from Thread 870 in block 62\n",
"Hello World from Thread 871 in block 62\n",
"Hello World from Thread 872 in block 62\n",
"Hello World from Thread 873 in block 62\n",
"Hello World from Thread 874 in block 62\n",
"Hello World from Thread 875 in block 62\n",
"Hello World from Thread 876 in block 62\n",
"Hello World from Thread 877 in block 62\n",
"Hello World from Thread 878 in block 62\n",
"Hello World from Thread 879 in block 62\n",
"Hello World from Thread 880 in block 62\n",
"Hello World from Thread 881 in block 62\n",
"Hello World from Thread 882 in block 62\n",
"Hello World from Thread 883 in block 62\n",
"Hello World from Thread 884 in block 62\n",
"Hello World from Thread 885 in block 62\n",
"Hello World from Thread 886 in block 62\n",
"Hello World from Thread 887 in block 62\n",
"Hello World from Thread 888 in block 62\n",
"Hello World from Thread 889 in block 62\n",
"Hello World from Thread 890 in block 62\n",
"Hello World from Thread 891 in block 62\n",
"Hello World from Thread 892 in block 62\n",
"Hello World from Thread 893 in block 62\n",
"Hello World from Thread 894 in block 62\n",
"Hello World from Thread 895 in block 62\n",
"Hello World from Thread 288 in block 62\n",
"Hello World from Thread 289 in block 62\n",
"Hello World from Thread 290 in block 62\n",
"Hello World from Thread 291 in block 62\n",
"Hello World from Thread 292 in block 62\n",
"Hello World from Thread 293 in block 62\n",
"Hello World from Thread 294 in block 62\n",
"Hello World from Thread 295 in block 62\n",
"Hello World from Thread 296 in block 62\n",
"Hello World from Thread 297 in block 62\n",
"Hello World from Thread 298 in block 62\n",
"Hello World from Thread 299 in block 62\n",
"Hello World from Thread 300 in block 62\n",
"Hello World from Thread 301 in block 62\n",
"Hello World from Thread 302 in block 62\n",
"Hello World from Thread 303 in block 62\n",
"Hello World from Thread 304 in block 62\n",
"Hello World from Thread 305 in block 62\n",
"Hello World from Thread 306 in block 62\n",
"Hello World from Thread 307 in block 62\n",
"Hello World from Thread 308 in block 62\n",
"Hello World from Thread 309 in block 62\n",
"Hello World from Thread 310 in block 62\n",
"Hello World from Thread 311 in block 62\n",
"Hello World from Thread 312 in block 62\n",
"Hello World from Thread 313 in block 62\n",
"Hello World from Thread 314 in block 62\n",
"Hello World from Thread 315 in block 62\n",
"Hello World from Thread 316 in block 62\n",
"Hello World from Thread 317 in block 62\n",
"Hello World from Thread 318 in block 62\n",
"Hello World from Thread 319 in block 62\n",
"Hello World from Thread 96 in block 62\n",
"Hello World from Thread 97 in block 62\n",
"Hello World from Thread 98 in block 62\n",
"Hello World from Thread 99 in block 62\n",
"Hello World from Thread 100 in block 62\n",
"Hello World from Thread 101 in block 62\n",
"Hello World from Thread 102 in block 62\n",
"Hello World from Thread 103 in block 62\n",
"Hello World from Thread 104 in block 62\n",
"Hello World from Thread 105 in block 62\n",
"Hello World from Thread 106 in block 62\n",
"Hello World from Thread 107 in block 62\n",
"Hello World from Thread 108 in block 62\n",
"Hello World from Thread 109 in block 62\n",
"Hello World from Thread 110 in block 62\n",
"Hello World from Thread 111 in block 62\n",
"Hello World from Thread 112 in block 62\n",
"Hello World from Thread 113 in block 62\n",
"Hello World from Thread 114 in block 62\n",
"Hello World from Thread 115 in block 62\n",
"Hello World from Thread 116 in block 62\n",
"Hello World from Thread 117 in block 62\n",
"Hello World from Thread 118 in block 62\n",
"Hello World from Thread 119 in block 62\n",
"Hello World from Thread 120 in block 62\n",
"Hello World from Thread 121 in block 62\n",
"Hello World from Thread 122 in block 62\n",
"Hello World from Thread 123 in block 62\n",
"Hello World from Thread 124 in block 62\n",
"Hello World from Thread 125 in block 62\n",
"Hello World from Thread 126 in block 62\n",
"Hello World from Thread 127 in block 62\n",
"Hello World from Thread 512 in block 62\n",
"Hello World from Thread 513 in block 62\n",
"Hello World from Thread 514 in block 62\n",
"Hello World from Thread 515 in block 62\n",
"Hello World from Thread 516 in block 62\n",
"Hello World from Thread 517 in block 62\n",
"Hello World from Thread 518 in block 62\n",
"Hello World from Thread 519 in block 62\n",
"Hello World from Thread 520 in block 62\n",
"Hello World from Thread 521 in block 62\n",
"Hello World from Thread 522 in block 62\n",
"Hello World from Thread 523 in block 62\n",
"Hello World from Thread 524 in block 62\n",
"Hello World from Thread 525 in block 62\n",
"Hello World from Thread 526 in block 62\n",
"Hello World from Thread 527 in block 62\n",
"Hello World from Thread 528 in block 62\n",
"Hello World from Thread 529 in block 62\n",
"Hello World from Thread 530 in block 62\n",
"Hello World from Thread 531 in block 62\n",
"Hello World from Thread 532 in block 62\n",
"Hello World from Thread 533 in block 62\n",
"Hello World from Thread 534 in block 62\n",
"Hello World from Thread 535 in block 62\n",
"Hello World from Thread 536 in block 62\n",
"Hello World from Thread 537 in block 62\n",
"Hello World from Thread 538 in block 62\n",
"Hello World from Thread 539 in block 62\n",
"Hello World from Thread 540 in block 62\n",
"Hello World from Thread 541 in block 62\n",
"Hello World from Thread 542 in block 62\n",
"Hello World from Thread 543 in block 62\n",
"Hello World from Thread 128 in block 62\n",
"Hello World from Thread 129 in block 62\n",
"Hello World from Thread 130 in block 62\n",
"Hello World from Thread 131 in block 62\n",
"Hello World from Thread 132 in block 62\n",
"Hello World from Thread 133 in block 62\n",
"Hello World from Thread 134 in block 62\n",
"Hello World from Thread 135 in block 62\n",
"Hello World from Thread 136 in block 62\n",
"Hello World from Thread 137 in block 62\n",
"Hello World from Thread 138 in block 62\n",
"Hello World from Thread 139 in block 62\n",
"Hello World from Thread 140 in block 62\n",
"Hello World from Thread 141 in block 62\n",
"Hello World from Thread 142 in block 62\n",
"Hello World from Thread 143 in block 62\n",
"Hello World from Thread 144 in block 62\n",
"Hello World from Thread 145 in block 62\n",
"Hello World from Thread 146 in block 62\n",
"Hello World from Thread 147 in block 62\n",
"Hello World from Thread 148 in block 62\n",
"Hello World from Thread 149 in block 62\n",
"Hello World from Thread 150 in block 62\n",
"Hello World from Thread 151 in block 62\n",
"Hello World from Thread 152 in block 62\n",
"Hello World from Thread 153 in block 62\n",
"Hello World from Thread 154 in block 62\n",
"Hello World from Thread 155 in block 62\n",
"Hello World from Thread 156 in block 62\n",
"Hello World from Thread 157 in block 62\n",
"Hello World from Thread 158 in block 62\n",
"Hello World from Thread 159 in block 62\n",
"Hello World from Thread 224 in block 62\n",
"Hello World from Thread 225 in block 62\n",
"Hello World from Thread 226 in block 62\n",
"Hello World from Thread 227 in block 62\n",
"Hello World from Thread 228 in block 62\n",
"Hello World from Thread 229 in block 62\n",
"Hello World from Thread 230 in block 62\n",
"Hello World from Thread 231 in block 62\n",
"Hello World from Thread 232 in block 62\n",
"Hello World from Thread 233 in block 62\n",
"Hello World from Thread 234 in block 62\n",
"Hello World from Thread 235 in block 62\n",
"Hello World from Thread 236 in block 62\n",
"Hello World from Thread 237 in block 62\n",
"Hello World from Thread 238 in block 62\n",
"Hello World from Thread 239 in block 62\n",
"Hello World from Thread 240 in block 62\n",
"Hello World from Thread 241 in block 62\n",
"Hello World from Thread 242 in block 62\n",
"Hello World from Thread 243 in block 62\n",
"Hello World from Thread 244 in block 62\n",
"Hello World from Thread 245 in block 62\n",
"Hello World from Thread 246 in block 62\n",
"Hello World from Thread 247 in block 62\n",
"Hello World from Thread 248 in block 62\n",
"Hello World from Thread 249 in block 62\n",
"Hello World from Thread 250 in block 62\n",
"Hello World from Thread 251 in block 62\n",
"Hello World from Thread 252 in block 62\n",
"Hello World from Thread 253 in block 62\n",
"Hello World from Thread 254 in block 62\n",
"Hello World from Thread 255 in block 62\n",
"Hello World from Thread 832 in block 61\n",
"Hello World from Thread 833 in block 61\n",
"Hello World from Thread 834 in block 61\n",
"Hello World from Thread 835 in block 61\n",
"Hello World from Thread 836 in block 61\n",
"Hello World from Thread 837 in block 61\n",
"Hello World from Thread 838 in block 61\n",
"Hello World from Thread 839 in block 61\n",
"Hello World from Thread 840 in block 61\n",
"Hello World from Thread 841 in block 61\n",
"Hello World from Thread 842 in block 61\n",
"Hello World from Thread 843 in block 61\n",
"Hello World from Thread 844 in block 61\n",
"Hello World from Thread 845 in block 61\n",
"Hello World from Thread 846 in block 61\n",
"Hello World from Thread 847 in block 61\n",
"Hello World from Thread 848 in block 61\n",
"Hello World from Thread 849 in block 61\n",
"Hello World from Thread 850 in block 61\n",
"Hello World from Thread 851 in block 61\n",
"Hello World from Thread 852 in block 61\n",
"Hello World from Thread 853 in block 61\n",
"Hello World from Thread 854 in block 61\n",
"Hello World from Thread 855 in block 61\n",
"Hello World from Thread 856 in block 61\n",
"Hello World from Thread 857 in block 61\n",
"Hello World from Thread 858 in block 61\n",
"Hello World from Thread 859 in block 61\n",
"Hello World from Thread 860 in block 61\n",
"Hello World from Thread 861 in block 61\n",
"Hello World from Thread 862 in block 61\n",
"Hello World from Thread 863 in block 61\n",
"Hello World from Thread 640 in block 62\n",
"Hello World from Thread 641 in block 62\n",
"Hello World from Thread 642 in block 62\n",
"Hello World from Thread 643 in block 62\n",
"Hello World from Thread 644 in block 62\n",
"Hello World from Thread 645 in block 62\n",
"Hello World from Thread 646 in block 62\n",
"Hello World from Thread 647 in block 62\n",
"Hello World from Thread 648 in block 62\n",
"Hello World from Thread 649 in block 62\n",
"Hello World from Thread 650 in block 62\n",
"Hello World from Thread 651 in block 62\n",
"Hello World from Thread 652 in block 62\n",
"Hello World from Thread 653 in block 62\n",
"Hello World from Thread 654 in block 62\n",
"Hello World from Thread 655 in block 62\n",
"Hello World from Thread 656 in block 62\n",
"Hello World from Thread 657 in block 62\n",
"Hello World from Thread 658 in block 62\n",
"Hello World from Thread 659 in block 62\n",
"Hello World from Thread 660 in block 62\n",
"Hello World from Thread 661 in block 62\n",
"Hello World from Thread 662 in block 62\n",
"Hello World from Thread 663 in block 62\n",
"Hello World from Thread 664 in block 62\n",
"Hello World from Thread 665 in block 62\n",
"Hello World from Thread 666 in block 62\n",
"Hello World from Thread 667 in block 62\n",
"Hello World from Thread 668 in block 62\n",
"Hello World from Thread 669 in block 62\n",
"Hello World from Thread 670 in block 62\n",
"Hello World from Thread 671 in block 62\n",
"Hello World from Thread 992 in block 62\n",
"Hello World from Thread 993 in block 62\n",
"Hello World from Thread 994 in block 62\n",
"Hello World from Thread 995 in block 62\n",
"Hello World from Thread 996 in block 62\n",
"Hello World from Thread 997 in block 62\n",
"Hello World from Thread 998 in block 62\n",
"Hello World from Thread 999 in block 62\n",
"Hello World from Thread 1000 in block 62\n",
"Hello World from Thread 1001 in block 62\n",
"Hello World from Thread 1002 in block 62\n",
"Hello World from Thread 1003 in block 62\n",
"Hello World from Thread 1004 in block 62\n",
"Hello World from Thread 1005 in block 62\n",
"Hello World from Thread 1006 in block 62\n",
"Hello World from Thread 1007 in block 62\n",
"Hello World from Thread 1008 in block 62\n",
"Hello World from Thread 1009 in block 62\n",
"Hello World from Thread 1010 in block 62\n",
"Hello World from Thread 1011 in block 62\n",
"Hello World from Thread 1012 in block 62\n",
"Hello World from Thread 1013 in block 62\n",
"Hello World from Thread 1014 in block 62\n",
"Hello World from Thread 1015 in block 62\n",
"Hello World from Thread 1016 in block 62\n",
"Hello World from Thread 1017 in block 62\n",
"Hello World from Thread 1018 in block 62\n",
"Hello World from Thread 1019 in block 62\n",
"Hello World from Thread 1020 in block 62\n",
"Hello World from Thread 1021 in block 62\n",
"Hello World from Thread 1022 in block 62\n",
"Hello World from Thread 1023 in block 62\n",
"Hello World from Thread 288 in block 61\n",
"Hello World from Thread 289 in block 61\n",
"Hello World from Thread 290 in block 61\n",
"Hello World from Thread 291 in block 61\n",
"Hello World from Thread 292 in block 61\n",
"Hello World from Thread 293 in block 61\n",
"Hello World from Thread 294 in block 61\n",
"Hello World from Thread 295 in block 61\n",
"Hello World from Thread 296 in block 61\n",
"Hello World from Thread 297 in block 61\n",
"Hello World from Thread 298 in block 61\n",
"Hello World from Thread 299 in block 61\n",
"Hello World from Thread 300 in block 61\n",
"Hello World from Thread 301 in block 61\n",
"Hello World from Thread 302 in block 61\n",
"Hello World from Thread 303 in block 61\n",
"Hello World from Thread 304 in block 61\n",
"Hello World from Thread 305 in block 61\n",
"Hello World from Thread 306 in block 61\n",
"Hello World from Thread 307 in block 61\n",
"Hello World from Thread 308 in block 61\n",
"Hello World from Thread 309 in block 61\n",
"Hello World from Thread 310 in block 61\n",
"Hello World from Thread 311 in block 61\n",
"Hello World from Thread 312 in block 61\n",
"Hello World from Thread 313 in block 61\n",
"Hello World from Thread 314 in block 61\n",
"Hello World from Thread 315 in block 61\n",
"Hello World from Thread 316 in block 61\n",
"Hello World from Thread 317 in block 61\n",
"Hello World from Thread 318 in block 61\n",
"Hello World from Thread 319 in block 61\n",
"Hello World from Thread 704 in block 61\n",
"Hello World from Thread 705 in block 61\n",
"Hello World from Thread 706 in block 61\n",
"Hello World from Thread 707 in block 61\n",
"Hello World from Thread 708 in block 61\n",
"Hello World from Thread 709 in block 61\n",
"Hello World from Thread 710 in block 61\n",
"Hello World from Thread 711 in block 61\n",
"Hello World from Thread 712 in block 61\n",
"Hello World from Thread 713 in block 61\n",
"Hello World from Thread 714 in block 61\n",
"Hello World from Thread 715 in block 61\n",
"Hello World from Thread 716 in block 61\n",
"Hello World from Thread 717 in block 61\n",
"Hello World from Thread 718 in block 61\n",
"Hello World from Thread 719 in block 61\n",
"Hello World from Thread 720 in block 61\n",
"Hello World from Thread 721 in block 61\n",
"Hello World from Thread 722 in block 61\n",
"Hello World from Thread 723 in block 61\n",
"Hello World from Thread 724 in block 61\n",
"Hello World from Thread 725 in block 61\n",
"Hello World from Thread 726 in block 61\n",
"Hello World from Thread 727 in block 61\n",
"Hello World from Thread 728 in block 61\n",
"Hello World from Thread 729 in block 61\n",
"Hello World from Thread 730 in block 61\n",
"Hello World from Thread 731 in block 61\n",
"Hello World from Thread 732 in block 61\n",
"Hello World from Thread 733 in block 61\n",
"Hello World from Thread 734 in block 61\n",
"Hello World from Thread 735 in block 61\n",
"Hello World from Thread 672 in block 62\n",
"Hello World from Thread 673 in block 62\n",
"Hello World from Thread 674 in block 62\n",
"Hello World from Thread 675 in block 62\n",
"Hello World from Thread 676 in block 62\n",
"Hello World from Thread 677 in block 62\n",
"Hello World from Thread 678 in block 62\n",
"Hello World from Thread 679 in block 62\n",
"Hello World from Thread 680 in block 62\n",
"Hello World from Thread 681 in block 62\n",
"Hello World from Thread 682 in block 62\n",
"Hello World from Thread 683 in block 62\n",
"Hello World from Thread 684 in block 62\n",
"Hello World from Thread 685 in block 62\n",
"Hello World from Thread 686 in block 62\n",
"Hello World from Thread 687 in block 62\n",
"Hello World from Thread 688 in block 62\n",
"Hello World from Thread 689 in block 62\n",
"Hello World from Thread 690 in block 62\n",
"Hello World from Thread 691 in block 62\n",
"Hello World from Thread 692 in block 62\n",
"Hello World from Thread 693 in block 62\n",
"Hello World from Thread 694 in block 62\n",
"Hello World from Thread 695 in block 62\n",
"Hello World from Thread 696 in block 62\n",
"Hello World from Thread 697 in block 62\n",
"Hello World from Thread 698 in block 62\n",
"Hello World from Thread 699 in block 62\n",
"Hello World from Thread 700 in block 62\n",
"Hello World from Thread 701 in block 62\n",
"Hello World from Thread 702 in block 62\n",
"Hello World from Thread 703 in block 62\n",
"Hello World from Thread 192 in block 62\n",
"Hello World from Thread 193 in block 62\n",
"Hello World from Thread 194 in block 62\n",
"Hello World from Thread 195 in block 62\n",
"Hello World from Thread 196 in block 62\n",
"Hello World from Thread 197 in block 62\n",
"Hello World from Thread 198 in block 62\n",
"Hello World from Thread 199 in block 62\n",
"Hello World from Thread 200 in block 62\n",
"Hello World from Thread 201 in block 62\n",
"Hello World from Thread 202 in block 62\n",
"Hello World from Thread 203 in block 62\n",
"Hello World from Thread 204 in block 62\n",
"Hello World from Thread 205 in block 62\n",
"Hello World from Thread 206 in block 62\n",
"Hello World from Thread 207 in block 62\n",
"Hello World from Thread 208 in block 62\n",
"Hello World from Thread 209 in block 62\n",
"Hello World from Thread 210 in block 62\n",
"Hello World from Thread 211 in block 62\n",
"Hello World from Thread 212 in block 62\n",
"Hello World from Thread 213 in block 62\n",
"Hello World from Thread 214 in block 62\n",
"Hello World from Thread 215 in block 62\n",
"Hello World from Thread 216 in block 62\n",
"Hello World from Thread 217 in block 62\n",
"Hello World from Thread 218 in block 62\n",
"Hello World from Thread 219 in block 62\n",
"Hello World from Thread 220 in block 62\n",
"Hello World from Thread 221 in block 62\n",
"Hello World from Thread 222 in block 62\n",
"Hello World from Thread 223 in block 62\n",
"Hello World from Thread 480 in block 62\n",
"Hello World from Thread 481 in block 62\n",
"Hello World from Thread 482 in block 62\n",
"Hello World from Thread 483 in block 62\n",
"Hello World from Thread 484 in block 62\n",
"Hello World from Thread 485 in block 62\n",
"Hello World from Thread 486 in block 62\n",
"Hello World from Thread 487 in block 62\n",
"Hello World from Thread 488 in block 62\n",
"Hello World from Thread 489 in block 62\n",
"Hello World from Thread 490 in block 62\n",
"Hello World from Thread 491 in block 62\n",
"Hello World from Thread 492 in block 62\n",
"Hello World from Thread 493 in block 62\n",
"Hello World from Thread 494 in block 62\n",
"Hello World from Thread 495 in block 62\n",
"Hello World from Thread 496 in block 62\n",
"Hello World from Thread 497 in block 62\n",
"Hello World from Thread 498 in block 62\n",
"Hello World from Thread 499 in block 62\n",
"Hello World from Thread 500 in block 62\n",
"Hello World from Thread 501 in block 62\n",
"Hello World from Thread 502 in block 62\n",
"Hello World from Thread 503 in block 62\n",
"Hello World from Thread 504 in block 62\n",
"Hello World from Thread 505 in block 62\n",
"Hello World from Thread 506 in block 62\n",
"Hello World from Thread 507 in block 62\n",
"Hello World from Thread 508 in block 62\n",
"Hello World from Thread 509 in block 62\n",
"Hello World from Thread 510 in block 62\n",
"Hello World from Thread 511 in block 62\n",
"Hello World from Thread 352 in block 62\n",
"Hello World from Thread 353 in block 62\n",
"Hello World from Thread 354 in block 62\n",
"Hello World from Thread 355 in block 62\n",
"Hello World from Thread 356 in block 62\n",
"Hello World from Thread 357 in block 62\n",
"Hello World from Thread 358 in block 62\n",
"Hello World from Thread 359 in block 62\n",
"Hello World from Thread 360 in block 62\n",
"Hello World from Thread 361 in block 62\n",
"Hello World from Thread 362 in block 62\n",
"Hello World from Thread 363 in block 62\n",
"Hello World from Thread 364 in block 62\n",
"Hello World from Thread 365 in block 62\n",
"Hello World from Thread 366 in block 62\n",
"Hello World from Thread 367 in block 62\n",
"Hello World from Thread 368 in block 62\n",
"Hello World from Thread 369 in block 62\n",
"Hello World from Thread 370 in block 62\n",
"Hello World from Thread 371 in block 62\n",
"Hello World from Thread 372 in block 62\n",
"Hello World from Thread 373 in block 62\n",
"Hello World from Thread 374 in block 62\n",
"Hello World from Thread 375 in block 62\n",
"Hello World from Thread 376 in block 62\n",
"Hello World from Thread 377 in block 62\n",
"Hello World from Thread 378 in block 62\n",
"Hello World from Thread 379 in block 62\n",
"Hello World from Thread 380 in block 62\n",
"Hello World from Thread 381 in block 62\n",
"Hello World from Thread 382 in block 62\n",
"Hello World from Thread 383 in block 62\n",
"Hello World from Thread 160 in block 62\n",
"Hello World from Thread 161 in block 62\n",
"Hello World from Thread 162 in block 62\n",
"Hello World from Thread 163 in block 62\n",
"Hello World from Thread 164 in block 62\n",
"Hello World from Thread 165 in block 62\n",
"Hello World from Thread 166 in block 62\n",
"Hello World from Thread 167 in block 62\n",
"Hello World from Thread 168 in block 62\n",
"Hello World from Thread 169 in block 62\n",
"Hello World from Thread 170 in block 62\n",
"Hello World from Thread 171 in block 62\n",
"Hello World from Thread 172 in block 62\n",
"Hello World from Thread 173 in block 62\n",
"Hello World from Thread 174 in block 62\n",
"Hello World from Thread 175 in block 62\n",
"Hello World from Thread 176 in block 62\n",
"Hello World from Thread 177 in block 62\n",
"Hello World from Thread 178 in block 62\n",
"Hello World from Thread 179 in block 62\n",
"Hello World from Thread 180 in block 62\n",
"Hello World from Thread 181 in block 62\n",
"Hello World from Thread 182 in block 62\n",
"Hello World from Thread 183 in block 62\n",
"Hello World from Thread 184 in block 62\n",
"Hello World from Thread 185 in block 62\n",
"Hello World from Thread 186 in block 62\n",
"Hello World from Thread 187 in block 62\n",
"Hello World from Thread 188 in block 62\n",
"Hello World from Thread 189 in block 62\n",
"Hello World from Thread 190 in block 62\n",
"Hello World from Thread 191 in block 62\n",
"Hello World from Thread 0 in block 62\n",
"Hello World from Thread 1 in block 62\n",
"Hello World from Thread 2 in block 62\n",
"Hello World from Thread 3 in block 62\n",
"Hello World from Thread 4 in block 62\n",
"Hello World from Thread 5 in block 62\n",
"Hello World from Thread 6 in block 62\n",
"Hello World from Thread 7 in block 62\n",
"Hello World from Thread 8 in block 62\n",
"Hello World from Thread 9 in block 62\n",
"Hello World from Thread 10 in block 62\n",
"Hello World from Thread 11 in block 62\n",
"Hello World from Thread 12 in block 62\n",
"Hello World from Thread 13 in block 62\n",
"Hello World from Thread 14 in block 62\n",
"Hello World from Thread 15 in block 62\n",
"Hello World from Thread 16 in block 62\n",
"Hello World from Thread 17 in block 62\n",
"Hello World from Thread 18 in block 62\n",
"Hello World from Thread 19 in block 62\n",
"Hello World from Thread 20 in block 62\n",
"Hello World from Thread 21 in block 62\n",
"Hello World from Thread 22 in block 62\n",
"Hello World from Thread 23 in block 62\n",
"Hello World from Thread 24 in block 62\n",
"Hello World from Thread 25 in block 62\n",
"Hello World from Thread 26 in block 62\n",
"Hello World from Thread 27 in block 62\n",
"Hello World from Thread 28 in block 62\n",
"Hello World from Thread 29 in block 62\n",
"Hello World from Thread 30 in block 62\n",
"Hello World from Thread 31 in block 62\n",
"Hello World from Thread 608 in block 62\n",
"Hello World from Thread 609 in block 62\n",
"Hello World from Thread 610 in block 62\n",
"Hello World from Thread 611 in block 62\n",
"Hello World from Thread 612 in block 62\n",
"Hello World from Thread 613 in block 62\n",
"Hello World from Thread 614 in block 62\n",
"Hello World from Thread 615 in block 62\n",
"Hello World from Thread 616 in block 62\n",
"Hello World from Thread 617 in block 62\n",
"Hello World from Thread 618 in block 62\n",
"Hello World from Thread 619 in block 62\n",
"Hello World from Thread 620 in block 62\n",
"Hello World from Thread 621 in block 62\n",
"Hello World from Thread 622 in block 62\n",
"Hello World from Thread 623 in block 62\n",
"Hello World from Thread 624 in block 62\n",
"Hello World from Thread 625 in block 62\n",
"Hello World from Thread 626 in block 62\n",
"Hello World from Thread 627 in block 62\n",
"Hello World from Thread 628 in block 62\n",
"Hello World from Thread 629 in block 62\n",
"Hello World from Thread 630 in block 62\n",
"Hello World from Thread 631 in block 62\n",
"Hello World from Thread 632 in block 62\n",
"Hello World from Thread 633 in block 62\n",
"Hello World from Thread 634 in block 62\n",
"Hello World from Thread 635 in block 62\n",
"Hello World from Thread 636 in block 62\n",
"Hello World from Thread 637 in block 62\n",
"Hello World from Thread 638 in block 62\n",
"Hello World from Thread 639 in block 62\n",
"Hello World from Thread 32 in block 62\n",
"Hello World from Thread 33 in block 62\n",
"Hello World from Thread 34 in block 62\n",
"Hello World from Thread 35 in block 62\n",
"Hello World from Thread 36 in block 62\n",
"Hello World from Thread 37 in block 62\n",
"Hello World from Thread 38 in block 62\n",
"Hello World from Thread 39 in block 62\n",
"Hello World from Thread 40 in block 62\n",
"Hello World from Thread 41 in block 62\n",
"Hello World from Thread 42 in block 62\n",
"Hello World from Thread 43 in block 62\n",
"Hello World from Thread 44 in block 62\n",
"Hello World from Thread 45 in block 62\n",
"Hello World from Thread 46 in block 62\n",
"Hello World from Thread 47 in block 62\n",
"Hello World from Thread 48 in block 62\n",
"Hello World from Thread 49 in block 62\n",
"Hello World from Thread 50 in block 62\n",
"Hello World from Thread 51 in block 62\n",
"Hello World from Thread 52 in block 62\n",
"Hello World from Thread 53 in block 62\n",
"Hello World from Thread 54 in block 62\n",
"Hello World from Thread 55 in block 62\n",
"Hello World from Thread 56 in block 62\n",
"Hello World from Thread 57 in block 62\n",
"Hello World from Thread 58 in block 62\n",
"Hello World from Thread 59 in block 62\n",
"Hello World from Thread 60 in block 62\n",
"Hello World from Thread 61 in block 62\n",
"Hello World from Thread 62 in block 62\n",
"Hello World from Thread 63 in block 62\n",
"Hello World from Thread 704 in block 62\n",
"Hello World from Thread 705 in block 62\n",
"Hello World from Thread 706 in block 62\n",
"Hello World from Thread 707 in block 62\n",
"Hello World from Thread 708 in block 62\n",
"Hello World from Thread 709 in block 62\n",
"Hello World from Thread 710 in block 62\n",
"Hello World from Thread 711 in block 62\n",
"Hello World from Thread 712 in block 62\n",
"Hello World from Thread 713 in block 62\n",
"Hello World from Thread 714 in block 62\n",
"Hello World from Thread 715 in block 62\n",
"Hello World from Thread 716 in block 62\n",
"Hello World from Thread 717 in block 62\n",
"Hello World from Thread 718 in block 62\n",
"Hello World from Thread 719 in block 62\n",
"Hello World from Thread 720 in block 62\n",
"Hello World from Thread 721 in block 62\n",
"Hello World from Thread 722 in block 62\n",
"Hello World from Thread 723 in block 62\n",
"Hello World from Thread 724 in block 62\n",
"Hello World from Thread 725 in block 62\n",
"Hello World from Thread 726 in block 62\n",
"Hello World from Thread 727 in block 62\n",
"Hello World from Thread 728 in block 62\n",
"Hello World from Thread 729 in block 62\n",
"Hello World from Thread 730 in block 62\n",
"Hello World from Thread 731 in block 62\n",
"Hello World from Thread 732 in block 62\n",
"Hello World from Thread 733 in block 62\n",
"Hello World from Thread 734 in block 62\n",
"Hello World from Thread 735 in block 62\n",
"Hello World from Thread 800 in block 62\n",
"Hello World from Thread 801 in block 62\n",
"Hello World from Thread 802 in block 62\n",
"Hello World from Thread 803 in block 62\n",
"Hello World from Thread 804 in block 62\n",
"Hello World from Thread 805 in block 62\n",
"Hello World from Thread 806 in block 62\n",
"Hello World from Thread 807 in block 62\n",
"Hello World from Thread 808 in block 62\n",
"Hello World from Thread 809 in block 62\n",
"Hello World from Thread 810 in block 62\n",
"Hello World from Thread 811 in block 62\n",
"Hello World from Thread 812 in block 62\n",
"Hello World from Thread 813 in block 62\n",
"Hello World from Thread 814 in block 62\n",
"Hello World from Thread 815 in block 62\n",
"Hello World from Thread 816 in block 62\n",
"Hello World from Thread 817 in block 62\n",
"Hello World from Thread 818 in block 62\n",
"Hello World from Thread 819 in block 62\n",
"Hello World from Thread 820 in block 62\n",
"Hello World from Thread 821 in block 62\n",
"Hello World from Thread 822 in block 62\n",
"Hello World from Thread 823 in block 62\n",
"Hello World from Thread 824 in block 62\n",
"Hello World from Thread 825 in block 62\n",
"Hello World from Thread 826 in block 62\n",
"Hello World from Thread 827 in block 62\n",
"Hello World from Thread 828 in block 62\n",
"Hello World from Thread 829 in block 62\n",
"Hello World from Thread 830 in block 62\n",
"Hello World from Thread 831 in block 62\n",
"Hello World from Thread 416 in block 62\n",
"Hello World from Thread 417 in block 62\n",
"Hello World from Thread 418 in block 62\n",
"Hello World from Thread 419 in block 62\n",
"Hello World from Thread 420 in block 62\n",
"Hello World from Thread 421 in block 62\n",
"Hello World from Thread 422 in block 62\n",
"Hello World from Thread 423 in block 62\n",
"Hello World from Thread 424 in block 62\n",
"Hello World from Thread 425 in block 62\n",
"Hello World from Thread 426 in block 62\n",
"Hello World from Thread 427 in block 62\n",
"Hello World from Thread 428 in block 62\n",
"Hello World from Thread 429 in block 62\n",
"Hello World from Thread 430 in block 62\n",
"Hello World from Thread 431 in block 62\n",
"Hello World from Thread 432 in block 62\n",
"Hello World from Thread 433 in block 62\n",
"Hello World from Thread 434 in block 62\n",
"Hello World from Thread 435 in block 62\n",
"Hello World from Thread 436 in block 62\n",
"Hello World from Thread 437 in block 62\n",
"Hello World from Thread 438 in block 62\n",
"Hello World from Thread 439 in block 62\n",
"Hello World from Thread 440 in block 62\n",
"Hello World from Thread 441 in block 62\n",
"Hello World from Thread 442 in block 62\n",
"Hello World from Thread 443 in block 62\n",
"Hello World from Thread 444 in block 62\n",
"Hello World from Thread 445 in block 62\n",
"Hello World from Thread 446 in block 62\n",
"Hello World from Thread 447 in block 62\n",
"Hello World from Thread 256 in block 61\n",
"Hello World from Thread 257 in block 61\n",
"Hello World from Thread 258 in block 61\n",
"Hello World from Thread 259 in block 61\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 260 in block 61\n",
"Hello World from Thread 261 in block 61\n",
"Hello World from Thread 262 in block 61\n",
"Hello World from Thread 263 in block 61\n",
"Hello World from Thread 264 in block 61\n",
"Hello World from Thread 265 in block 61\n",
"Hello World from Thread 266 in block 61\n",
"Hello World from Thread 267 in block 61\n",
"Hello World from Thread 268 in block 61\n",
"Hello World from Thread 269 in block 61\n",
"Hello World from Thread 270 in block 61\n",
"Hello World from Thread 271 in block 61\n",
"Hello World from Thread 272 in block 61\n",
"Hello World from Thread 273 in block 61\n",
"Hello World from Thread 274 in block 61\n",
"Hello World from Thread 275 in block 61\n",
"Hello World from Thread 276 in block 61\n",
"Hello World from Thread 277 in block 61\n",
"Hello World from Thread 278 in block 61\n",
"Hello World from Thread 279 in block 61\n",
"Hello World from Thread 280 in block 61\n",
"Hello World from Thread 281 in block 61\n",
"Hello World from Thread 282 in block 61\n",
"Hello World from Thread 283 in block 61\n",
"Hello World from Thread 284 in block 61\n",
"Hello World from Thread 285 in block 61\n",
"Hello World from Thread 286 in block 61\n",
"Hello World from Thread 287 in block 61\n",
"Hello World from Thread 928 in block 62\n",
"Hello World from Thread 929 in block 62\n",
"Hello World from Thread 930 in block 62\n",
"Hello World from Thread 931 in block 62\n",
"Hello World from Thread 932 in block 62\n",
"Hello World from Thread 933 in block 62\n",
"Hello World from Thread 934 in block 62\n",
"Hello World from Thread 935 in block 62\n",
"Hello World from Thread 936 in block 62\n",
"Hello World from Thread 937 in block 62\n",
"Hello World from Thread 938 in block 62\n",
"Hello World from Thread 939 in block 62\n",
"Hello World from Thread 940 in block 62\n",
"Hello World from Thread 941 in block 62\n",
"Hello World from Thread 942 in block 62\n",
"Hello World from Thread 943 in block 62\n",
"Hello World from Thread 944 in block 62\n",
"Hello World from Thread 945 in block 62\n",
"Hello World from Thread 946 in block 62\n",
"Hello World from Thread 947 in block 62\n",
"Hello World from Thread 948 in block 62\n",
"Hello World from Thread 949 in block 62\n",
"Hello World from Thread 950 in block 62\n",
"Hello World from Thread 951 in block 62\n",
"Hello World from Thread 952 in block 62\n",
"Hello World from Thread 953 in block 62\n",
"Hello World from Thread 954 in block 62\n",
"Hello World from Thread 955 in block 62\n",
"Hello World from Thread 956 in block 62\n",
"Hello World from Thread 957 in block 62\n",
"Hello World from Thread 958 in block 62\n",
"Hello World from Thread 959 in block 62\n",
"Hello World from Thread 256 in block 62\n",
"Hello World from Thread 257 in block 62\n",
"Hello World from Thread 258 in block 62\n",
"Hello World from Thread 259 in block 62\n",
"Hello World from Thread 260 in block 62\n",
"Hello World from Thread 261 in block 62\n",
"Hello World from Thread 262 in block 62\n",
"Hello World from Thread 263 in block 62\n",
"Hello World from Thread 264 in block 62\n",
"Hello World from Thread 265 in block 62\n",
"Hello World from Thread 266 in block 62\n",
"Hello World from Thread 267 in block 62\n",
"Hello World from Thread 268 in block 62\n",
"Hello World from Thread 269 in block 62\n",
"Hello World from Thread 270 in block 62\n",
"Hello World from Thread 271 in block 62\n",
"Hello World from Thread 272 in block 62\n",
"Hello World from Thread 273 in block 62\n",
"Hello World from Thread 274 in block 62\n",
"Hello World from Thread 275 in block 62\n",
"Hello World from Thread 276 in block 62\n",
"Hello World from Thread 277 in block 62\n",
"Hello World from Thread 278 in block 62\n",
"Hello World from Thread 279 in block 62\n",
"Hello World from Thread 280 in block 62\n",
"Hello World from Thread 281 in block 62\n",
"Hello World from Thread 282 in block 62\n",
"Hello World from Thread 283 in block 62\n",
"Hello World from Thread 284 in block 62\n",
"Hello World from Thread 285 in block 62\n",
"Hello World from Thread 286 in block 62\n",
"Hello World from Thread 287 in block 62\n",
"Hello World from Thread 576 in block 62\n",
"Hello World from Thread 577 in block 62\n",
"Hello World from Thread 578 in block 62\n",
"Hello World from Thread 579 in block 62\n",
"Hello World from Thread 580 in block 62\n",
"Hello World from Thread 581 in block 62\n",
"Hello World from Thread 582 in block 62\n",
"Hello World from Thread 583 in block 62\n",
"Hello World from Thread 584 in block 62\n",
"Hello World from Thread 585 in block 62\n",
"Hello World from Thread 586 in block 62\n",
"Hello World from Thread 587 in block 62\n",
"Hello World from Thread 588 in block 62\n",
"Hello World from Thread 589 in block 62\n",
"Hello World from Thread 590 in block 62\n",
"Hello World from Thread 591 in block 62\n",
"Hello World from Thread 592 in block 62\n",
"Hello World from Thread 593 in block 62\n",
"Hello World from Thread 594 in block 62\n",
"Hello World from Thread 595 in block 62\n",
"Hello World from Thread 596 in block 62\n",
"Hello World from Thread 597 in block 62\n",
"Hello World from Thread 598 in block 62\n",
"Hello World from Thread 599 in block 62\n",
"Hello World from Thread 600 in block 62\n",
"Hello World from Thread 601 in block 62\n",
"Hello World from Thread 602 in block 62\n",
"Hello World from Thread 603 in block 62\n",
"Hello World from Thread 604 in block 62\n",
"Hello World from Thread 605 in block 62\n",
"Hello World from Thread 606 in block 62\n",
"Hello World from Thread 607 in block 62\n",
"Hello World from Thread 320 in block 62\n",
"Hello World from Thread 321 in block 62\n",
"Hello World from Thread 322 in block 62\n",
"Hello World from Thread 323 in block 62\n",
"Hello World from Thread 324 in block 62\n",
"Hello World from Thread 325 in block 62\n",
"Hello World from Thread 326 in block 62\n",
"Hello World from Thread 327 in block 62\n",
"Hello World from Thread 328 in block 62\n",
"Hello World from Thread 329 in block 62\n",
"Hello World from Thread 330 in block 62\n",
"Hello World from Thread 331 in block 62\n",
"Hello World from Thread 332 in block 62\n",
"Hello World from Thread 333 in block 62\n",
"Hello World from Thread 334 in block 62\n",
"Hello World from Thread 335 in block 62\n",
"Hello World from Thread 336 in block 62\n",
"Hello World from Thread 337 in block 62\n",
"Hello World from Thread 338 in block 62\n",
"Hello World from Thread 339 in block 62\n",
"Hello World from Thread 340 in block 62\n",
"Hello World from Thread 341 in block 62\n",
"Hello World from Thread 342 in block 62\n",
"Hello World from Thread 343 in block 62\n",
"Hello World from Thread 344 in block 62\n",
"Hello World from Thread 345 in block 62\n",
"Hello World from Thread 346 in block 62\n",
"Hello World from Thread 347 in block 62\n",
"Hello World from Thread 348 in block 62\n",
"Hello World from Thread 349 in block 62\n",
"Hello World from Thread 350 in block 62\n",
"Hello World from Thread 351 in block 62\n",
"Hello World from Thread 896 in block 61\n",
"Hello World from Thread 897 in block 61\n",
"Hello World from Thread 898 in block 61\n",
"Hello World from Thread 899 in block 61\n",
"Hello World from Thread 900 in block 61\n",
"Hello World from Thread 901 in block 61\n",
"Hello World from Thread 902 in block 61\n",
"Hello World from Thread 903 in block 61\n",
"Hello World from Thread 904 in block 61\n",
"Hello World from Thread 905 in block 61\n",
"Hello World from Thread 906 in block 61\n",
"Hello World from Thread 907 in block 61\n",
"Hello World from Thread 908 in block 61\n",
"Hello World from Thread 909 in block 61\n",
"Hello World from Thread 910 in block 61\n",
"Hello World from Thread 911 in block 61\n",
"Hello World from Thread 912 in block 61\n",
"Hello World from Thread 913 in block 61\n",
"Hello World from Thread 914 in block 61\n",
"Hello World from Thread 915 in block 61\n",
"Hello World from Thread 916 in block 61\n",
"Hello World from Thread 917 in block 61\n",
"Hello World from Thread 918 in block 61\n",
"Hello World from Thread 919 in block 61\n",
"Hello World from Thread 920 in block 61\n",
"Hello World from Thread 921 in block 61\n",
"Hello World from Thread 922 in block 61\n",
"Hello World from Thread 923 in block 61\n",
"Hello World from Thread 924 in block 61\n",
"Hello World from Thread 925 in block 61\n",
"Hello World from Thread 926 in block 61\n",
"Hello World from Thread 927 in block 61\n",
"Hello World from Thread 512 in block 61\n",
"Hello World from Thread 513 in block 61\n",
"Hello World from Thread 514 in block 61\n",
"Hello World from Thread 515 in block 61\n",
"Hello World from Thread 516 in block 61\n",
"Hello World from Thread 517 in block 61\n",
"Hello World from Thread 518 in block 61\n",
"Hello World from Thread 519 in block 61\n",
"Hello World from Thread 520 in block 61\n",
"Hello World from Thread 521 in block 61\n",
"Hello World from Thread 522 in block 61\n",
"Hello World from Thread 523 in block 61\n",
"Hello World from Thread 524 in block 61\n",
"Hello World from Thread 525 in block 61\n",
"Hello World from Thread 526 in block 61\n",
"Hello World from Thread 527 in block 61\n",
"Hello World from Thread 528 in block 61\n",
"Hello World from Thread 529 in block 61\n",
"Hello World from Thread 530 in block 61\n",
"Hello World from Thread 531 in block 61\n",
"Hello World from Thread 532 in block 61\n",
"Hello World from Thread 533 in block 61\n",
"Hello World from Thread 534 in block 61\n",
"Hello World from Thread 535 in block 61\n",
"Hello World from Thread 536 in block 61\n",
"Hello World from Thread 537 in block 61\n",
"Hello World from Thread 538 in block 61\n",
"Hello World from Thread 539 in block 61\n",
"Hello World from Thread 540 in block 61\n",
"Hello World from Thread 541 in block 61\n",
"Hello World from Thread 542 in block 61\n",
"Hello World from Thread 543 in block 61\n",
"Hello World from Thread 128 in block 61\n",
"Hello World from Thread 129 in block 61\n",
"Hello World from Thread 130 in block 61\n",
"Hello World from Thread 131 in block 61\n",
"Hello World from Thread 132 in block 61\n",
"Hello World from Thread 133 in block 61\n",
"Hello World from Thread 134 in block 61\n",
"Hello World from Thread 135 in block 61\n",
"Hello World from Thread 136 in block 61\n",
"Hello World from Thread 137 in block 61\n",
"Hello World from Thread 138 in block 61\n",
"Hello World from Thread 139 in block 61\n",
"Hello World from Thread 140 in block 61\n",
"Hello World from Thread 141 in block 61\n",
"Hello World from Thread 142 in block 61\n",
"Hello World from Thread 143 in block 61\n",
"Hello World from Thread 144 in block 61\n",
"Hello World from Thread 145 in block 61\n",
"Hello World from Thread 146 in block 61\n",
"Hello World from Thread 147 in block 61\n",
"Hello World from Thread 148 in block 61\n",
"Hello World from Thread 149 in block 61\n",
"Hello World from Thread 150 in block 61\n",
"Hello World from Thread 151 in block 61\n",
"Hello World from Thread 152 in block 61\n",
"Hello World from Thread 153 in block 61\n",
"Hello World from Thread 154 in block 61\n",
"Hello World from Thread 155 in block 61\n",
"Hello World from Thread 156 in block 61\n",
"Hello World from Thread 157 in block 61\n",
"Hello World from Thread 158 in block 61\n",
"Hello World from Thread 159 in block 61\n",
"Hello World from Thread 736 in block 61\n",
"Hello World from Thread 737 in block 61\n",
"Hello World from Thread 738 in block 61\n",
"Hello World from Thread 739 in block 61\n",
"Hello World from Thread 740 in block 61\n",
"Hello World from Thread 741 in block 61\n",
"Hello World from Thread 742 in block 61\n",
"Hello World from Thread 743 in block 61\n",
"Hello World from Thread 744 in block 61\n",
"Hello World from Thread 745 in block 61\n",
"Hello World from Thread 746 in block 61\n",
"Hello World from Thread 747 in block 61\n",
"Hello World from Thread 748 in block 61\n",
"Hello World from Thread 749 in block 61\n",
"Hello World from Thread 750 in block 61\n",
"Hello World from Thread 751 in block 61\n",
"Hello World from Thread 752 in block 61\n",
"Hello World from Thread 753 in block 61\n",
"Hello World from Thread 754 in block 61\n",
"Hello World from Thread 755 in block 61\n",
"Hello World from Thread 756 in block 61\n",
"Hello World from Thread 757 in block 61\n",
"Hello World from Thread 758 in block 61\n",
"Hello World from Thread 759 in block 61\n",
"Hello World from Thread 760 in block 61\n",
"Hello World from Thread 761 in block 61\n",
"Hello World from Thread 762 in block 61\n",
"Hello World from Thread 763 in block 61\n",
"Hello World from Thread 764 in block 61\n",
"Hello World from Thread 765 in block 61\n",
"Hello World from Thread 766 in block 61\n",
"Hello World from Thread 767 in block 61\n",
"Hello World from Thread 64 in block 62\n",
"Hello World from Thread 65 in block 62\n",
"Hello World from Thread 66 in block 62\n",
"Hello World from Thread 67 in block 62\n",
"Hello World from Thread 68 in block 62\n",
"Hello World from Thread 69 in block 62\n",
"Hello World from Thread 70 in block 62\n",
"Hello World from Thread 71 in block 62\n",
"Hello World from Thread 72 in block 62\n",
"Hello World from Thread 73 in block 62\n",
"Hello World from Thread 74 in block 62\n",
"Hello World from Thread 75 in block 62\n",
"Hello World from Thread 76 in block 62\n",
"Hello World from Thread 77 in block 62\n",
"Hello World from Thread 78 in block 62\n",
"Hello World from Thread 79 in block 62\n",
"Hello World from Thread 80 in block 62\n",
"Hello World from Thread 81 in block 62\n",
"Hello World from Thread 82 in block 62\n",
"Hello World from Thread 83 in block 62\n",
"Hello World from Thread 84 in block 62\n",
"Hello World from Thread 85 in block 62\n",
"Hello World from Thread 86 in block 62\n",
"Hello World from Thread 87 in block 62\n",
"Hello World from Thread 88 in block 62\n",
"Hello World from Thread 89 in block 62\n",
"Hello World from Thread 90 in block 62\n",
"Hello World from Thread 91 in block 62\n",
"Hello World from Thread 92 in block 62\n",
"Hello World from Thread 93 in block 62\n",
"Hello World from Thread 94 in block 62\n",
"Hello World from Thread 95 in block 62\n",
"Hello World from Thread 768 in block 62\n",
"Hello World from Thread 769 in block 62\n",
"Hello World from Thread 770 in block 62\n",
"Hello World from Thread 771 in block 62\n",
"Hello World from Thread 772 in block 62\n",
"Hello World from Thread 773 in block 62\n",
"Hello World from Thread 774 in block 62\n",
"Hello World from Thread 775 in block 62\n",
"Hello World from Thread 776 in block 62\n",
"Hello World from Thread 777 in block 62\n",
"Hello World from Thread 778 in block 62\n",
"Hello World from Thread 779 in block 62\n",
"Hello World from Thread 780 in block 62\n",
"Hello World from Thread 781 in block 62\n",
"Hello World from Thread 782 in block 62\n",
"Hello World from Thread 783 in block 62\n",
"Hello World from Thread 784 in block 62\n",
"Hello World from Thread 785 in block 62\n",
"Hello World from Thread 786 in block 62\n",
"Hello World from Thread 787 in block 62\n",
"Hello World from Thread 788 in block 62\n",
"Hello World from Thread 789 in block 62\n",
"Hello World from Thread 790 in block 62\n",
"Hello World from Thread 791 in block 62\n",
"Hello World from Thread 792 in block 62\n",
"Hello World from Thread 793 in block 62\n",
"Hello World from Thread 794 in block 62\n",
"Hello World from Thread 795 in block 62\n",
"Hello World from Thread 796 in block 62\n",
"Hello World from Thread 797 in block 62\n",
"Hello World from Thread 798 in block 62\n",
"Hello World from Thread 799 in block 62\n",
"Hello World from Thread 896 in block 62\n",
"Hello World from Thread 897 in block 62\n",
"Hello World from Thread 898 in block 62\n",
"Hello World from Thread 899 in block 62\n",
"Hello World from Thread 900 in block 62\n",
"Hello World from Thread 901 in block 62\n",
"Hello World from Thread 902 in block 62\n",
"Hello World from Thread 903 in block 62\n",
"Hello World from Thread 904 in block 62\n",
"Hello World from Thread 905 in block 62\n",
"Hello World from Thread 906 in block 62\n",
"Hello World from Thread 907 in block 62\n",
"Hello World from Thread 908 in block 62\n",
"Hello World from Thread 909 in block 62\n",
"Hello World from Thread 910 in block 62\n",
"Hello World from Thread 911 in block 62\n",
"Hello World from Thread 912 in block 62\n",
"Hello World from Thread 913 in block 62\n",
"Hello World from Thread 914 in block 62\n",
"Hello World from Thread 915 in block 62\n",
"Hello World from Thread 916 in block 62\n",
"Hello World from Thread 917 in block 62\n",
"Hello World from Thread 918 in block 62\n",
"Hello World from Thread 919 in block 62\n",
"Hello World from Thread 920 in block 62\n",
"Hello World from Thread 921 in block 62\n",
"Hello World from Thread 922 in block 62\n",
"Hello World from Thread 923 in block 62\n",
"Hello World from Thread 924 in block 62\n",
"Hello World from Thread 925 in block 62\n",
"Hello World from Thread 926 in block 62\n",
"Hello World from Thread 927 in block 62\n",
"Hello World from Thread 768 in block 61\n",
"Hello World from Thread 769 in block 61\n",
"Hello World from Thread 770 in block 61\n",
"Hello World from Thread 771 in block 61\n",
"Hello World from Thread 772 in block 61\n",
"Hello World from Thread 773 in block 61\n",
"Hello World from Thread 774 in block 61\n",
"Hello World from Thread 775 in block 61\n",
"Hello World from Thread 776 in block 61\n",
"Hello World from Thread 777 in block 61\n",
"Hello World from Thread 778 in block 61\n",
"Hello World from Thread 779 in block 61\n",
"Hello World from Thread 780 in block 61\n",
"Hello World from Thread 781 in block 61\n",
"Hello World from Thread 782 in block 61\n",
"Hello World from Thread 783 in block 61\n",
"Hello World from Thread 784 in block 61\n",
"Hello World from Thread 785 in block 61\n",
"Hello World from Thread 786 in block 61\n",
"Hello World from Thread 787 in block 61\n",
"Hello World from Thread 788 in block 61\n",
"Hello World from Thread 789 in block 61\n",
"Hello World from Thread 790 in block 61\n",
"Hello World from Thread 791 in block 61\n",
"Hello World from Thread 792 in block 61\n",
"Hello World from Thread 793 in block 61\n",
"Hello World from Thread 794 in block 61\n",
"Hello World from Thread 795 in block 61\n",
"Hello World from Thread 796 in block 61\n",
"Hello World from Thread 797 in block 61\n",
"Hello World from Thread 798 in block 61\n",
"Hello World from Thread 799 in block 61\n",
"Hello World from Thread 640 in block 61\n",
"Hello World from Thread 641 in block 61\n",
"Hello World from Thread 642 in block 61\n",
"Hello World from Thread 643 in block 61\n",
"Hello World from Thread 644 in block 61\n",
"Hello World from Thread 645 in block 61\n",
"Hello World from Thread 646 in block 61\n",
"Hello World from Thread 647 in block 61\n",
"Hello World from Thread 648 in block 61\n",
"Hello World from Thread 649 in block 61\n",
"Hello World from Thread 650 in block 61\n",
"Hello World from Thread 651 in block 61\n",
"Hello World from Thread 652 in block 61\n",
"Hello World from Thread 653 in block 61\n",
"Hello World from Thread 654 in block 61\n",
"Hello World from Thread 655 in block 61\n",
"Hello World from Thread 656 in block 61\n",
"Hello World from Thread 657 in block 61\n",
"Hello World from Thread 658 in block 61\n",
"Hello World from Thread 659 in block 61\n",
"Hello World from Thread 660 in block 61\n",
"Hello World from Thread 661 in block 61\n",
"Hello World from Thread 662 in block 61\n",
"Hello World from Thread 663 in block 61\n",
"Hello World from Thread 664 in block 61\n",
"Hello World from Thread 665 in block 61\n",
"Hello World from Thread 666 in block 61\n",
"Hello World from Thread 667 in block 61\n",
"Hello World from Thread 668 in block 61\n",
"Hello World from Thread 669 in block 61\n",
"Hello World from Thread 670 in block 61\n",
"Hello World from Thread 671 in block 61\n",
"Hello World from Thread 0 in block 61\n",
"Hello World from Thread 1 in block 61\n",
"Hello World from Thread 2 in block 61\n",
"Hello World from Thread 3 in block 61\n",
"Hello World from Thread 4 in block 61\n",
"Hello World from Thread 5 in block 61\n",
"Hello World from Thread 6 in block 61\n",
"Hello World from Thread 7 in block 61\n",
"Hello World from Thread 8 in block 61\n",
"Hello World from Thread 9 in block 61\n",
"Hello World from Thread 10 in block 61\n",
"Hello World from Thread 11 in block 61\n",
"Hello World from Thread 12 in block 61\n",
"Hello World from Thread 13 in block 61\n",
"Hello World from Thread 14 in block 61\n",
"Hello World from Thread 15 in block 61\n",
"Hello World from Thread 16 in block 61\n",
"Hello World from Thread 17 in block 61\n",
"Hello World from Thread 18 in block 61\n",
"Hello World from Thread 19 in block 61\n",
"Hello World from Thread 20 in block 61\n",
"Hello World from Thread 21 in block 61\n",
"Hello World from Thread 22 in block 61\n",
"Hello World from Thread 23 in block 61\n",
"Hello World from Thread 24 in block 61\n",
"Hello World from Thread 25 in block 61\n",
"Hello World from Thread 26 in block 61\n",
"Hello World from Thread 27 in block 61\n",
"Hello World from Thread 28 in block 61\n",
"Hello World from Thread 29 in block 61\n",
"Hello World from Thread 30 in block 61\n",
"Hello World from Thread 31 in block 61\n",
"Hello World from Thread 960 in block 62\n",
"Hello World from Thread 961 in block 62\n",
"Hello World from Thread 962 in block 62\n",
"Hello World from Thread 963 in block 62\n",
"Hello World from Thread 964 in block 62\n",
"Hello World from Thread 965 in block 62\n",
"Hello World from Thread 966 in block 62\n",
"Hello World from Thread 967 in block 62\n",
"Hello World from Thread 968 in block 62\n",
"Hello World from Thread 969 in block 62\n",
"Hello World from Thread 970 in block 62\n",
"Hello World from Thread 971 in block 62\n",
"Hello World from Thread 972 in block 62\n",
"Hello World from Thread 973 in block 62\n",
"Hello World from Thread 974 in block 62\n",
"Hello World from Thread 975 in block 62\n",
"Hello World from Thread 976 in block 62\n",
"Hello World from Thread 977 in block 62\n",
"Hello World from Thread 978 in block 62\n",
"Hello World from Thread 979 in block 62\n",
"Hello World from Thread 980 in block 62\n",
"Hello World from Thread 981 in block 62\n",
"Hello World from Thread 982 in block 62\n",
"Hello World from Thread 983 in block 62\n",
"Hello World from Thread 984 in block 62\n",
"Hello World from Thread 985 in block 62\n",
"Hello World from Thread 986 in block 62\n",
"Hello World from Thread 987 in block 62\n",
"Hello World from Thread 988 in block 62\n",
"Hello World from Thread 989 in block 62\n",
"Hello World from Thread 990 in block 62\n",
"Hello World from Thread 991 in block 62\n",
"Hello World from Thread 416 in block 63\n",
"Hello World from Thread 417 in block 63\n",
"Hello World from Thread 418 in block 63\n",
"Hello World from Thread 419 in block 63\n",
"Hello World from Thread 420 in block 63\n",
"Hello World from Thread 421 in block 63\n",
"Hello World from Thread 422 in block 63\n",
"Hello World from Thread 423 in block 63\n",
"Hello World from Thread 424 in block 63\n",
"Hello World from Thread 425 in block 63\n",
"Hello World from Thread 426 in block 63\n",
"Hello World from Thread 427 in block 63\n",
"Hello World from Thread 428 in block 63\n",
"Hello World from Thread 429 in block 63\n",
"Hello World from Thread 430 in block 63\n",
"Hello World from Thread 431 in block 63\n",
"Hello World from Thread 432 in block 63\n",
"Hello World from Thread 433 in block 63\n",
"Hello World from Thread 434 in block 63\n",
"Hello World from Thread 435 in block 63\n",
"Hello World from Thread 436 in block 63\n",
"Hello World from Thread 437 in block 63\n",
"Hello World from Thread 438 in block 63\n",
"Hello World from Thread 439 in block 63\n",
"Hello World from Thread 440 in block 63\n",
"Hello World from Thread 441 in block 63\n",
"Hello World from Thread 442 in block 63\n",
"Hello World from Thread 443 in block 63\n",
"Hello World from Thread 444 in block 63\n",
"Hello World from Thread 445 in block 63\n",
"Hello World from Thread 446 in block 63\n",
"Hello World from Thread 447 in block 63\n",
"Hello World from Thread 288 in block 63\n",
"Hello World from Thread 289 in block 63\n",
"Hello World from Thread 290 in block 63\n",
"Hello World from Thread 291 in block 63\n",
"Hello World from Thread 292 in block 63\n",
"Hello World from Thread 293 in block 63\n",
"Hello World from Thread 294 in block 63\n",
"Hello World from Thread 295 in block 63\n",
"Hello World from Thread 296 in block 63\n",
"Hello World from Thread 297 in block 63\n",
"Hello World from Thread 298 in block 63\n",
"Hello World from Thread 299 in block 63\n",
"Hello World from Thread 300 in block 63\n",
"Hello World from Thread 301 in block 63\n",
"Hello World from Thread 302 in block 63\n",
"Hello World from Thread 303 in block 63\n",
"Hello World from Thread 304 in block 63\n",
"Hello World from Thread 305 in block 63\n",
"Hello World from Thread 306 in block 63\n",
"Hello World from Thread 307 in block 63\n",
"Hello World from Thread 308 in block 63\n",
"Hello World from Thread 309 in block 63\n",
"Hello World from Thread 310 in block 63\n",
"Hello World from Thread 311 in block 63\n",
"Hello World from Thread 312 in block 63\n",
"Hello World from Thread 313 in block 63\n",
"Hello World from Thread 314 in block 63\n",
"Hello World from Thread 315 in block 63\n",
"Hello World from Thread 316 in block 63\n",
"Hello World from Thread 317 in block 63\n",
"Hello World from Thread 318 in block 63\n",
"Hello World from Thread 319 in block 63\n",
"Hello World from Thread 992 in block 63\n",
"Hello World from Thread 993 in block 63\n",
"Hello World from Thread 994 in block 63\n",
"Hello World from Thread 995 in block 63\n",
"Hello World from Thread 996 in block 63\n",
"Hello World from Thread 997 in block 63\n",
"Hello World from Thread 998 in block 63\n",
"Hello World from Thread 999 in block 63\n",
"Hello World from Thread 1000 in block 63\n",
"Hello World from Thread 1001 in block 63\n",
"Hello World from Thread 1002 in block 63\n",
"Hello World from Thread 1003 in block 63\n",
"Hello World from Thread 1004 in block 63\n",
"Hello World from Thread 1005 in block 63\n",
"Hello World from Thread 1006 in block 63\n",
"Hello World from Thread 1007 in block 63\n",
"Hello World from Thread 1008 in block 63\n",
"Hello World from Thread 1009 in block 63\n",
"Hello World from Thread 1010 in block 63\n",
"Hello World from Thread 1011 in block 63\n",
"Hello World from Thread 1012 in block 63\n",
"Hello World from Thread 1013 in block 63\n",
"Hello World from Thread 1014 in block 63\n",
"Hello World from Thread 1015 in block 63\n",
"Hello World from Thread 1016 in block 63\n",
"Hello World from Thread 1017 in block 63\n",
"Hello World from Thread 1018 in block 63\n",
"Hello World from Thread 1019 in block 63\n",
"Hello World from Thread 1020 in block 63\n",
"Hello World from Thread 1021 in block 63\n",
"Hello World from Thread 1022 in block 63\n",
"Hello World from Thread 1023 in block 63\n",
"Hello World from Thread 192 in block 63\n",
"Hello World from Thread 193 in block 63\n",
"Hello World from Thread 194 in block 63\n",
"Hello World from Thread 195 in block 63\n",
"Hello World from Thread 196 in block 63\n",
"Hello World from Thread 197 in block 63\n",
"Hello World from Thread 198 in block 63\n",
"Hello World from Thread 199 in block 63\n",
"Hello World from Thread 200 in block 63\n",
"Hello World from Thread 201 in block 63\n",
"Hello World from Thread 202 in block 63\n",
"Hello World from Thread 203 in block 63\n",
"Hello World from Thread 204 in block 63\n",
"Hello World from Thread 205 in block 63\n",
"Hello World from Thread 206 in block 63\n",
"Hello World from Thread 207 in block 63\n",
"Hello World from Thread 208 in block 63\n",
"Hello World from Thread 209 in block 63\n",
"Hello World from Thread 210 in block 63\n",
"Hello World from Thread 211 in block 63\n",
"Hello World from Thread 212 in block 63\n",
"Hello World from Thread 213 in block 63\n",
"Hello World from Thread 214 in block 63\n",
"Hello World from Thread 215 in block 63\n",
"Hello World from Thread 216 in block 63\n",
"Hello World from Thread 217 in block 63\n",
"Hello World from Thread 218 in block 63\n",
"Hello World from Thread 219 in block 63\n",
"Hello World from Thread 220 in block 63\n",
"Hello World from Thread 221 in block 63\n",
"Hello World from Thread 222 in block 63\n",
"Hello World from Thread 223 in block 63\n",
"Hello World from Thread 544 in block 63\n",
"Hello World from Thread 545 in block 63\n",
"Hello World from Thread 546 in block 63\n",
"Hello World from Thread 547 in block 63\n",
"Hello World from Thread 548 in block 63\n",
"Hello World from Thread 549 in block 63\n",
"Hello World from Thread 550 in block 63\n",
"Hello World from Thread 551 in block 63\n",
"Hello World from Thread 552 in block 63\n",
"Hello World from Thread 553 in block 63\n",
"Hello World from Thread 554 in block 63\n",
"Hello World from Thread 555 in block 63\n",
"Hello World from Thread 556 in block 63\n",
"Hello World from Thread 557 in block 63\n",
"Hello World from Thread 558 in block 63\n",
"Hello World from Thread 559 in block 63\n",
"Hello World from Thread 560 in block 63\n",
"Hello World from Thread 561 in block 63\n",
"Hello World from Thread 562 in block 63\n",
"Hello World from Thread 563 in block 63\n",
"Hello World from Thread 564 in block 63\n",
"Hello World from Thread 565 in block 63\n",
"Hello World from Thread 566 in block 63\n",
"Hello World from Thread 567 in block 63\n",
"Hello World from Thread 568 in block 63\n",
"Hello World from Thread 569 in block 63\n",
"Hello World from Thread 570 in block 63\n",
"Hello World from Thread 571 in block 63\n",
"Hello World from Thread 572 in block 63\n",
"Hello World from Thread 573 in block 63\n",
"Hello World from Thread 574 in block 63\n",
"Hello World from Thread 575 in block 63\n",
"Hello World from Thread 128 in block 63\n",
"Hello World from Thread 129 in block 63\n",
"Hello World from Thread 130 in block 63\n",
"Hello World from Thread 131 in block 63\n",
"Hello World from Thread 132 in block 63\n",
"Hello World from Thread 133 in block 63\n",
"Hello World from Thread 134 in block 63\n",
"Hello World from Thread 135 in block 63\n",
"Hello World from Thread 136 in block 63\n",
"Hello World from Thread 137 in block 63\n",
"Hello World from Thread 138 in block 63\n",
"Hello World from Thread 139 in block 63\n",
"Hello World from Thread 140 in block 63\n",
"Hello World from Thread 141 in block 63\n",
"Hello World from Thread 142 in block 63\n",
"Hello World from Thread 143 in block 63\n",
"Hello World from Thread 144 in block 63\n",
"Hello World from Thread 145 in block 63\n",
"Hello World from Thread 146 in block 63\n",
"Hello World from Thread 147 in block 63\n",
"Hello World from Thread 148 in block 63\n",
"Hello World from Thread 149 in block 63\n",
"Hello World from Thread 150 in block 63\n",
"Hello World from Thread 151 in block 63\n",
"Hello World from Thread 152 in block 63\n",
"Hello World from Thread 153 in block 63\n",
"Hello World from Thread 154 in block 63\n",
"Hello World from Thread 155 in block 63\n",
"Hello World from Thread 156 in block 63\n",
"Hello World from Thread 157 in block 63\n",
"Hello World from Thread 158 in block 63\n",
"Hello World from Thread 159 in block 63\n",
"Hello World from Thread 608 in block 63\n",
"Hello World from Thread 609 in block 63\n",
"Hello World from Thread 610 in block 63\n",
"Hello World from Thread 611 in block 63\n",
"Hello World from Thread 612 in block 63\n",
"Hello World from Thread 613 in block 63\n",
"Hello World from Thread 614 in block 63\n",
"Hello World from Thread 615 in block 63\n",
"Hello World from Thread 616 in block 63\n",
"Hello World from Thread 617 in block 63\n",
"Hello World from Thread 618 in block 63\n",
"Hello World from Thread 619 in block 63\n",
"Hello World from Thread 620 in block 63\n",
"Hello World from Thread 621 in block 63\n",
"Hello World from Thread 622 in block 63\n",
"Hello World from Thread 623 in block 63\n",
"Hello World from Thread 624 in block 63\n",
"Hello World from Thread 625 in block 63\n",
"Hello World from Thread 626 in block 63\n",
"Hello World from Thread 627 in block 63\n",
"Hello World from Thread 628 in block 63\n",
"Hello World from Thread 629 in block 63\n",
"Hello World from Thread 630 in block 63\n",
"Hello World from Thread 631 in block 63\n",
"Hello World from Thread 632 in block 63\n",
"Hello World from Thread 633 in block 63\n",
"Hello World from Thread 634 in block 63\n",
"Hello World from Thread 635 in block 63\n",
"Hello World from Thread 636 in block 63\n",
"Hello World from Thread 637 in block 63\n",
"Hello World from Thread 638 in block 63\n",
"Hello World from Thread 639 in block 63\n",
"Hello World from Thread 800 in block 63\n",
"Hello World from Thread 801 in block 63\n",
"Hello World from Thread 802 in block 63\n",
"Hello World from Thread 803 in block 63\n",
"Hello World from Thread 804 in block 63\n",
"Hello World from Thread 805 in block 63\n",
"Hello World from Thread 806 in block 63\n",
"Hello World from Thread 807 in block 63\n",
"Hello World from Thread 808 in block 63\n",
"Hello World from Thread 809 in block 63\n",
"Hello World from Thread 810 in block 63\n",
"Hello World from Thread 811 in block 63\n",
"Hello World from Thread 812 in block 63\n",
"Hello World from Thread 813 in block 63\n",
"Hello World from Thread 814 in block 63\n",
"Hello World from Thread 815 in block 63\n",
"Hello World from Thread 816 in block 63\n",
"Hello World from Thread 817 in block 63\n",
"Hello World from Thread 818 in block 63\n",
"Hello World from Thread 819 in block 63\n",
"Hello World from Thread 820 in block 63\n",
"Hello World from Thread 821 in block 63\n",
"Hello World from Thread 822 in block 63\n",
"Hello World from Thread 823 in block 63\n",
"Hello World from Thread 824 in block 63\n",
"Hello World from Thread 825 in block 63\n",
"Hello World from Thread 826 in block 63\n",
"Hello World from Thread 827 in block 63\n",
"Hello World from Thread 828 in block 63\n",
"Hello World from Thread 829 in block 63\n",
"Hello World from Thread 830 in block 63\n",
"Hello World from Thread 831 in block 63\n",
"Hello World from Thread 768 in block 63\n",
"Hello World from Thread 769 in block 63\n",
"Hello World from Thread 770 in block 63\n",
"Hello World from Thread 771 in block 63\n",
"Hello World from Thread 772 in block 63\n",
"Hello World from Thread 773 in block 63\n",
"Hello World from Thread 774 in block 63\n",
"Hello World from Thread 775 in block 63\n",
"Hello World from Thread 776 in block 63\n",
"Hello World from Thread 777 in block 63\n",
"Hello World from Thread 778 in block 63\n",
"Hello World from Thread 779 in block 63\n",
"Hello World from Thread 780 in block 63\n",
"Hello World from Thread 781 in block 63\n",
"Hello World from Thread 782 in block 63\n",
"Hello World from Thread 783 in block 63\n",
"Hello World from Thread 784 in block 63\n",
"Hello World from Thread 785 in block 63\n",
"Hello World from Thread 786 in block 63\n",
"Hello World from Thread 787 in block 63\n",
"Hello World from Thread 788 in block 63\n",
"Hello World from Thread 789 in block 63\n",
"Hello World from Thread 790 in block 63\n",
"Hello World from Thread 791 in block 63\n",
"Hello World from Thread 792 in block 63\n",
"Hello World from Thread 793 in block 63\n",
"Hello World from Thread 794 in block 63\n",
"Hello World from Thread 795 in block 63\n",
"Hello World from Thread 796 in block 63\n",
"Hello World from Thread 797 in block 63\n",
"Hello World from Thread 798 in block 63\n",
"Hello World from Thread 799 in block 63\n",
"Hello World from Thread 928 in block 63\n",
"Hello World from Thread 929 in block 63\n",
"Hello World from Thread 930 in block 63\n",
"Hello World from Thread 931 in block 63\n",
"Hello World from Thread 932 in block 63\n",
"Hello World from Thread 933 in block 63\n",
"Hello World from Thread 934 in block 63\n",
"Hello World from Thread 935 in block 63\n",
"Hello World from Thread 936 in block 63\n",
"Hello World from Thread 937 in block 63\n",
"Hello World from Thread 938 in block 63\n",
"Hello World from Thread 939 in block 63\n",
"Hello World from Thread 940 in block 63\n",
"Hello World from Thread 941 in block 63\n",
"Hello World from Thread 942 in block 63\n",
"Hello World from Thread 943 in block 63\n",
"Hello World from Thread 944 in block 63\n",
"Hello World from Thread 945 in block 63\n",
"Hello World from Thread 946 in block 63\n",
"Hello World from Thread 947 in block 63\n",
"Hello World from Thread 948 in block 63\n",
"Hello World from Thread 949 in block 63\n",
"Hello World from Thread 950 in block 63\n",
"Hello World from Thread 951 in block 63\n",
"Hello World from Thread 952 in block 63\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hello World from Thread 953 in block 63\n",
"Hello World from Thread 954 in block 63\n",
"Hello World from Thread 955 in block 63\n",
"Hello World from Thread 956 in block 63\n",
"Hello World from Thread 957 in block 63\n",
"Hello World from Thread 958 in block 63\n",
"Hello World from Thread 959 in block 63\n",
"Hello World from Thread 320 in block 63\n",
"Hello World from Thread 321 in block 63\n",
"Hello World from Thread 322 in block 63\n",
"Hello World from Thread 323 in block 63\n",
"Hello World from Thread 324 in block 63\n",
"Hello World from Thread 325 in block 63\n",
"Hello World from Thread 326 in block 63\n",
"Hello World from Thread 327 in block 63\n",
"Hello World from Thread 328 in block 63\n",
"Hello World from Thread 329 in block 63\n",
"Hello World from Thread 330 in block 63\n",
"Hello World from Thread 331 in block 63\n",
"Hello World from Thread 332 in block 63\n",
"Hello World from Thread 333 in block 63\n",
"Hello World from Thread 334 in block 63\n",
"Hello World from Thread 335 in block 63\n",
"Hello World from Thread 336 in block 63\n",
"Hello World from Thread 337 in block 63\n",
"Hello World from Thread 338 in block 63\n",
"Hello World from Thread 339 in block 63\n",
"Hello World from Thread 340 in block 63\n",
"Hello World from Thread 341 in block 63\n",
"Hello World from Thread 342 in block 63\n",
"Hello World from Thread 343 in block 63\n",
"Hello World from Thread 344 in block 63\n",
"Hello World from Thread 345 in block 63\n",
"Hello World from Thread 346 in block 63\n",
"Hello World from Thread 347 in block 63\n",
"Hello World from Thread 348 in block 63\n",
"Hello World from Thread 349 in block 63\n",
"Hello World from Thread 350 in block 63\n",
"Hello World from Thread 351 in block 63\n",
"Hello World from Thread 256 in block 63\n",
"Hello World from Thread 257 in block 63\n",
"Hello World from Thread 258 in block 63\n",
"Hello World from Thread 259 in block 63\n",
"Hello World from Thread 260 in block 63\n",
"Hello World from Thread 261 in block 63\n",
"Hello World from Thread 262 in block 63\n",
"Hello World from Thread 263 in block 63\n",
"Hello World from Thread 264 in block 63\n",
"Hello World from Thread 265 in block 63\n",
"Hello World from Thread 266 in block 63\n",
"Hello World from Thread 267 in block 63\n",
"Hello World from Thread 268 in block 63\n",
"Hello World from Thread 269 in block 63\n",
"Hello World from Thread 270 in block 63\n",
"Hello World from Thread 271 in block 63\n",
"Hello World from Thread 272 in block 63\n",
"Hello World from Thread 273 in block 63\n",
"Hello World from Thread 274 in block 63\n",
"Hello World from Thread 275 in block 63\n",
"Hello World from Thread 276 in block 63\n",
"Hello World from Thread 277 in block 63\n",
"Hello World from Thread 278 in block 63\n",
"Hello World from Thread 279 in block 63\n",
"Hello World from Thread 280 in block 63\n",
"Hello World from Thread 281 in block 63\n",
"Hello World from Thread 282 in block 63\n",
"Hello World from Thread 283 in block 63\n",
"Hello World from Thread 284 in block 63\n",
"Hello World from Thread 285 in block 63\n",
"Hello World from Thread 286 in block 63\n",
"Hello World from Thread 287 in block 63\n",
"Hello World from Thread 672 in block 63\n",
"Hello World from Thread 673 in block 63\n",
"Hello World from Thread 674 in block 63\n",
"Hello World from Thread 675 in block 63\n",
"Hello World from Thread 676 in block 63\n",
"Hello World from Thread 677 in block 63\n",
"Hello World from Thread 678 in block 63\n",
"Hello World from Thread 679 in block 63\n",
"Hello World from Thread 680 in block 63\n",
"Hello World from Thread 681 in block 63\n",
"Hello World from Thread 682 in block 63\n",
"Hello World from Thread 683 in block 63\n",
"Hello World from Thread 684 in block 63\n",
"Hello World from Thread 685 in block 63\n",
"Hello World from Thread 686 in block 63\n",
"Hello World from Thread 687 in block 63\n",
"Hello World from Thread 688 in block 63\n",
"Hello World from Thread 689 in block 63\n",
"Hello World from Thread 690 in block 63\n",
"Hello World from Thread 691 in block 63\n",
"Hello World from Thread 692 in block 63\n",
"Hello World from Thread 693 in block 63\n",
"Hello World from Thread 694 in block 63\n",
"Hello World from Thread 695 in block 63\n",
"Hello World from Thread 696 in block 63\n",
"Hello World from Thread 697 in block 63\n",
"Hello World from Thread 698 in block 63\n",
"Hello World from Thread 699 in block 63\n",
"Hello World from Thread 700 in block 63\n",
"Hello World from Thread 701 in block 63\n",
"Hello World from Thread 702 in block 63\n",
"Hello World from Thread 703 in block 63\n",
"Hello World from Thread 480 in block 63\n",
"Hello World from Thread 481 in block 63\n",
"Hello World from Thread 482 in block 63\n",
"Hello World from Thread 483 in block 63\n",
"Hello World from Thread 484 in block 63\n",
"Hello World from Thread 485 in block 63\n",
"Hello World from Thread 486 in block 63\n",
"Hello World from Thread 487 in block 63\n",
"Hello World from Thread 488 in block 63\n",
"Hello World from Thread 489 in block 63\n",
"Hello World from Thread 490 in block 63\n",
"Hello World from Thread 491 in block 63\n",
"Hello World from Thread 492 in block 63\n",
"Hello World from Thread 493 in block 63\n",
"Hello World from Thread 494 in block 63\n",
"Hello World from Thread 495 in block 63\n",
"Hello World from Thread 496 in block 63\n",
"Hello World from Thread 497 in block 63\n",
"Hello World from Thread 498 in block 63\n",
"Hello World from Thread 499 in block 63\n",
"Hello World from Thread 500 in block 63\n",
"Hello World from Thread 501 in block 63\n",
"Hello World from Thread 502 in block 63\n",
"Hello World from Thread 503 in block 63\n",
"Hello World from Thread 504 in block 63\n",
"Hello World from Thread 505 in block 63\n",
"Hello World from Thread 506 in block 63\n",
"Hello World from Thread 507 in block 63\n",
"Hello World from Thread 508 in block 63\n",
"Hello World from Thread 509 in block 63\n",
"Hello World from Thread 510 in block 63\n",
"Hello World from Thread 511 in block 63\n",
"Hello World from Thread 224 in block 63\n",
"Hello World from Thread 225 in block 63\n",
"Hello World from Thread 226 in block 63\n",
"Hello World from Thread 227 in block 63\n",
"Hello World from Thread 228 in block 63\n",
"Hello World from Thread 229 in block 63\n",
"Hello World from Thread 230 in block 63\n",
"Hello World from Thread 231 in block 63\n",
"Hello World from Thread 232 in block 63\n",
"Hello World from Thread 233 in block 63\n",
"Hello World from Thread 234 in block 63\n",
"Hello World from Thread 235 in block 63\n",
"Hello World from Thread 236 in block 63\n",
"Hello World from Thread 237 in block 63\n",
"Hello World from Thread 238 in block 63\n",
"Hello World from Thread 239 in block 63\n",
"Hello World from Thread 240 in block 63\n",
"Hello World from Thread 241 in block 63\n",
"Hello World from Thread 242 in block 63\n",
"Hello World from Thread 243 in block 63\n",
"Hello World from Thread 244 in block 63\n",
"Hello World from Thread 245 in block 63\n",
"Hello World from Thread 246 in block 63\n",
"Hello World from Thread 247 in block 63\n",
"Hello World from Thread 248 in block 63\n",
"Hello World from Thread 249 in block 63\n",
"Hello World from Thread 250 in block 63\n",
"Hello World from Thread 251 in block 63\n",
"Hello World from Thread 252 in block 63\n",
"Hello World from Thread 253 in block 63\n",
"Hello World from Thread 254 in block 63\n",
"Hello World from Thread 255 in block 63\n",
"Hello World from Thread 96 in block 63\n",
"Hello World from Thread 97 in block 63\n",
"Hello World from Thread 98 in block 63\n",
"Hello World from Thread 99 in block 63\n",
"Hello World from Thread 100 in block 63\n",
"Hello World from Thread 101 in block 63\n",
"Hello World from Thread 102 in block 63\n",
"Hello World from Thread 103 in block 63\n",
"Hello World from Thread 104 in block 63\n",
"Hello World from Thread 105 in block 63\n",
"Hello World from Thread 106 in block 63\n",
"Hello World from Thread 107 in block 63\n",
"Hello World from Thread 108 in block 63\n",
"Hello World from Thread 109 in block 63\n",
"Hello World from Thread 110 in block 63\n",
"Hello World from Thread 111 in block 63\n",
"Hello World from Thread 112 in block 63\n",
"Hello World from Thread 113 in block 63\n",
"Hello World from Thread 114 in block 63\n",
"Hello World from Thread 115 in block 63\n",
"Hello World from Thread 116 in block 63\n",
"Hello World from Thread 117 in block 63\n",
"Hello World from Thread 118 in block 63\n",
"Hello World from Thread 119 in block 63\n",
"Hello World from Thread 120 in block 63\n",
"Hello World from Thread 121 in block 63\n",
"Hello World from Thread 122 in block 63\n",
"Hello World from Thread 123 in block 63\n",
"Hello World from Thread 124 in block 63\n",
"Hello World from Thread 125 in block 63\n",
"Hello World from Thread 126 in block 63\n",
"Hello World from Thread 127 in block 63\n",
"Hello World from Thread 896 in block 63\n",
"Hello World from Thread 897 in block 63\n",
"Hello World from Thread 898 in block 63\n",
"Hello World from Thread 899 in block 63\n",
"Hello World from Thread 900 in block 63\n",
"Hello World from Thread 901 in block 63\n",
"Hello World from Thread 902 in block 63\n",
"Hello World from Thread 903 in block 63\n",
"Hello World from Thread 904 in block 63\n",
"Hello World from Thread 905 in block 63\n",
"Hello World from Thread 906 in block 63\n",
"Hello World from Thread 907 in block 63\n",
"Hello World from Thread 908 in block 63\n",
"Hello World from Thread 909 in block 63\n",
"Hello World from Thread 910 in block 63\n",
"Hello World from Thread 911 in block 63\n",
"Hello World from Thread 912 in block 63\n",
"Hello World from Thread 913 in block 63\n",
"Hello World from Thread 914 in block 63\n",
"Hello World from Thread 915 in block 63\n",
"Hello World from Thread 916 in block 63\n",
"Hello World from Thread 917 in block 63\n",
"Hello World from Thread 918 in block 63\n",
"Hello World from Thread 919 in block 63\n",
"Hello World from Thread 920 in block 63\n",
"Hello World from Thread 921 in block 63\n",
"Hello World from Thread 922 in block 63\n",
"Hello World from Thread 923 in block 63\n",
"Hello World from Thread 924 in block 63\n",
"Hello World from Thread 925 in block 63\n",
"Hello World from Thread 926 in block 63\n",
"Hello World from Thread 927 in block 63\n",
"Hello World from Thread 64 in block 63\n",
"Hello World from Thread 65 in block 63\n",
"Hello World from Thread 66 in block 63\n",
"Hello World from Thread 67 in block 63\n",
"Hello World from Thread 68 in block 63\n",
"Hello World from Thread 69 in block 63\n",
"Hello World from Thread 70 in block 63\n",
"Hello World from Thread 71 in block 63\n",
"Hello World from Thread 72 in block 63\n",
"Hello World from Thread 73 in block 63\n",
"Hello World from Thread 74 in block 63\n",
"Hello World from Thread 75 in block 63\n",
"Hello World from Thread 76 in block 63\n",
"Hello World from Thread 77 in block 63\n",
"Hello World from Thread 78 in block 63\n",
"Hello World from Thread 79 in block 63\n",
"Hello World from Thread 80 in block 63\n",
"Hello World from Thread 81 in block 63\n",
"Hello World from Thread 82 in block 63\n",
"Hello World from Thread 83 in block 63\n",
"Hello World from Thread 84 in block 63\n",
"Hello World from Thread 85 in block 63\n",
"Hello World from Thread 86 in block 63\n",
"Hello World from Thread 87 in block 63\n",
"Hello World from Thread 88 in block 63\n",
"Hello World from Thread 89 in block 63\n",
"Hello World from Thread 90 in block 63\n",
"Hello World from Thread 91 in block 63\n",
"Hello World from Thread 92 in block 63\n",
"Hello World from Thread 93 in block 63\n",
"Hello World from Thread 94 in block 63\n",
"Hello World from Thread 95 in block 63\n",
"Hello World from Thread 512 in block 63\n",
"Hello World from Thread 513 in block 63\n",
"Hello World from Thread 514 in block 63\n",
"Hello World from Thread 515 in block 63\n",
"Hello World from Thread 516 in block 63\n",
"Hello World from Thread 517 in block 63\n",
"Hello World from Thread 518 in block 63\n",
"Hello World from Thread 519 in block 63\n",
"Hello World from Thread 520 in block 63\n",
"Hello World from Thread 521 in block 63\n",
"Hello World from Thread 522 in block 63\n",
"Hello World from Thread 523 in block 63\n",
"Hello World from Thread 524 in block 63\n",
"Hello World from Thread 525 in block 63\n",
"Hello World from Thread 526 in block 63\n",
"Hello World from Thread 527 in block 63\n",
"Hello World from Thread 528 in block 63\n",
"Hello World from Thread 529 in block 63\n",
"Hello World from Thread 530 in block 63\n",
"Hello World from Thread 531 in block 63\n",
"Hello World from Thread 532 in block 63\n",
"Hello World from Thread 533 in block 63\n",
"Hello World from Thread 534 in block 63\n",
"Hello World from Thread 535 in block 63\n",
"Hello World from Thread 536 in block 63\n",
"Hello World from Thread 537 in block 63\n",
"Hello World from Thread 538 in block 63\n",
"Hello World from Thread 539 in block 63\n",
"Hello World from Thread 540 in block 63\n",
"Hello World from Thread 541 in block 63\n",
"Hello World from Thread 542 in block 63\n",
"Hello World from Thread 543 in block 63\n",
"Hello World from Thread 352 in block 63\n",
"Hello World from Thread 353 in block 63\n",
"Hello World from Thread 354 in block 63\n",
"Hello World from Thread 355 in block 63\n",
"Hello World from Thread 356 in block 63\n",
"Hello World from Thread 357 in block 63\n",
"Hello World from Thread 358 in block 63\n",
"Hello World from Thread 359 in block 63\n",
"Hello World from Thread 360 in block 63\n",
"Hello World from Thread 361 in block 63\n",
"Hello World from Thread 362 in block 63\n",
"Hello World from Thread 363 in block 63\n",
"Hello World from Thread 364 in block 63\n",
"Hello World from Thread 365 in block 63\n",
"Hello World from Thread 366 in block 63\n",
"Hello World from Thread 367 in block 63\n",
"Hello World from Thread 368 in block 63\n",
"Hello World from Thread 369 in block 63\n",
"Hello World from Thread 370 in block 63\n",
"Hello World from Thread 371 in block 63\n",
"Hello World from Thread 372 in block 63\n",
"Hello World from Thread 373 in block 63\n",
"Hello World from Thread 374 in block 63\n",
"Hello World from Thread 375 in block 63\n",
"Hello World from Thread 376 in block 63\n",
"Hello World from Thread 377 in block 63\n",
"Hello World from Thread 378 in block 63\n",
"Hello World from Thread 379 in block 63\n",
"Hello World from Thread 380 in block 63\n",
"Hello World from Thread 381 in block 63\n",
"Hello World from Thread 382 in block 63\n",
"Hello World from Thread 383 in block 63\n",
"Hello World from Thread 736 in block 63\n",
"Hello World from Thread 737 in block 63\n",
"Hello World from Thread 738 in block 63\n",
"Hello World from Thread 739 in block 63\n",
"Hello World from Thread 740 in block 63\n",
"Hello World from Thread 741 in block 63\n",
"Hello World from Thread 742 in block 63\n",
"Hello World from Thread 743 in block 63\n",
"Hello World from Thread 744 in block 63\n",
"Hello World from Thread 745 in block 63\n",
"Hello World from Thread 746 in block 63\n",
"Hello World from Thread 747 in block 63\n",
"Hello World from Thread 748 in block 63\n",
"Hello World from Thread 749 in block 63\n",
"Hello World from Thread 750 in block 63\n",
"Hello World from Thread 751 in block 63\n",
"Hello World from Thread 752 in block 63\n",
"Hello World from Thread 753 in block 63\n",
"Hello World from Thread 754 in block 63\n",
"Hello World from Thread 755 in block 63\n",
"Hello World from Thread 756 in block 63\n",
"Hello World from Thread 757 in block 63\n",
"Hello World from Thread 758 in block 63\n",
"Hello World from Thread 759 in block 63\n",
"Hello World from Thread 760 in block 63\n",
"Hello World from Thread 761 in block 63\n",
"Hello World from Thread 762 in block 63\n",
"Hello World from Thread 763 in block 63\n",
"Hello World from Thread 764 in block 63\n",
"Hello World from Thread 765 in block 63\n",
"Hello World from Thread 766 in block 63\n",
"Hello World from Thread 767 in block 63\n",
"Hello World from Thread 832 in block 63\n",
"Hello World from Thread 833 in block 63\n",
"Hello World from Thread 834 in block 63\n",
"Hello World from Thread 835 in block 63\n",
"Hello World from Thread 836 in block 63\n",
"Hello World from Thread 837 in block 63\n",
"Hello World from Thread 838 in block 63\n",
"Hello World from Thread 839 in block 63\n",
"Hello World from Thread 840 in block 63\n",
"Hello World from Thread 841 in block 63\n",
"Hello World from Thread 842 in block 63\n",
"Hello World from Thread 843 in block 63\n",
"Hello World from Thread 844 in block 63\n",
"Hello World from Thread 845 in block 63\n",
"Hello World from Thread 846 in block 63\n",
"Hello World from Thread 847 in block 63\n",
"Hello World from Thread 848 in block 63\n",
"Hello World from Thread 849 in block 63\n",
"Hello World from Thread 850 in block 63\n",
"Hello World from Thread 851 in block 63\n",
"Hello World from Thread 852 in block 63\n",
"Hello World from Thread 853 in block 63\n",
"Hello World from Thread 854 in block 63\n",
"Hello World from Thread 855 in block 63\n",
"Hello World from Thread 856 in block 63\n",
"Hello World from Thread 857 in block 63\n",
"Hello World from Thread 858 in block 63\n",
"Hello World from Thread 859 in block 63\n",
"Hello World from Thread 860 in block 63\n",
"Hello World from Thread 861 in block 63\n",
"Hello World from Thread 862 in block 63\n",
"Hello World from Thread 863 in block 63\n",
"Hello World from Thread 0 in block 63\n",
"Hello World from Thread 1 in block 63\n",
"Hello World from Thread 2 in block 63\n",
"Hello World from Thread 3 in block 63\n",
"Hello World from Thread 4 in block 63\n",
"Hello World from Thread 5 in block 63\n",
"Hello World from Thread 6 in block 63\n",
"Hello World from Thread 7 in block 63\n",
"Hello World from Thread 8 in block 63\n",
"Hello World from Thread 9 in block 63\n",
"Hello World from Thread 10 in block 63\n",
"Hello World from Thread 11 in block 63\n",
"Hello World from Thread 12 in block 63\n",
"Hello World from Thread 13 in block 63\n",
"Hello World from Thread 14 in block 63\n",
"Hello World from Thread 15 in block 63\n",
"Hello World from Thread 16 in block 63\n",
"Hello World from Thread 17 in block 63\n",
"Hello World from Thread 18 in block 63\n",
"Hello World from Thread 19 in block 63\n",
"Hello World from Thread 20 in block 63\n",
"Hello World from Thread 21 in block 63\n",
"Hello World from Thread 22 in block 63\n",
"Hello World from Thread 23 in block 63\n",
"Hello World from Thread 24 in block 63\n",
"Hello World from Thread 25 in block 63\n",
"Hello World from Thread 26 in block 63\n",
"Hello World from Thread 27 in block 63\n",
"Hello World from Thread 28 in block 63\n",
"Hello World from Thread 29 in block 63\n",
"Hello World from Thread 30 in block 63\n",
"Hello World from Thread 31 in block 63\n",
"Hello World from Thread 160 in block 63\n",
"Hello World from Thread 161 in block 63\n",
"Hello World from Thread 162 in block 63\n",
"Hello World from Thread 163 in block 63\n",
"Hello World from Thread 164 in block 63\n",
"Hello World from Thread 165 in block 63\n",
"Hello World from Thread 166 in block 63\n",
"Hello World from Thread 167 in block 63\n",
"Hello World from Thread 168 in block 63\n",
"Hello World from Thread 169 in block 63\n",
"Hello World from Thread 170 in block 63\n",
"Hello World from Thread 171 in block 63\n",
"Hello World from Thread 172 in block 63\n",
"Hello World from Thread 173 in block 63\n",
"Hello World from Thread 174 in block 63\n",
"Hello World from Thread 175 in block 63\n",
"Hello World from Thread 176 in block 63\n",
"Hello World from Thread 177 in block 63\n",
"Hello World from Thread 178 in block 63\n",
"Hello World from Thread 179 in block 63\n",
"Hello World from Thread 180 in block 63\n",
"Hello World from Thread 181 in block 63\n",
"Hello World from Thread 182 in block 63\n",
"Hello World from Thread 183 in block 63\n",
"Hello World from Thread 184 in block 63\n",
"Hello World from Thread 185 in block 63\n",
"Hello World from Thread 186 in block 63\n",
"Hello World from Thread 187 in block 63\n",
"Hello World from Thread 188 in block 63\n",
"Hello World from Thread 189 in block 63\n",
"Hello World from Thread 190 in block 63\n",
"Hello World from Thread 191 in block 63\n",
"Hello World from Thread 864 in block 63\n",
"Hello World from Thread 865 in block 63\n",
"Hello World from Thread 866 in block 63\n",
"Hello World from Thread 867 in block 63\n",
"Hello World from Thread 868 in block 63\n",
"Hello World from Thread 869 in block 63\n",
"Hello World from Thread 870 in block 63\n",
"Hello World from Thread 871 in block 63\n",
"Hello World from Thread 872 in block 63\n",
"Hello World from Thread 873 in block 63\n",
"Hello World from Thread 874 in block 63\n",
"Hello World from Thread 875 in block 63\n",
"Hello World from Thread 876 in block 63\n",
"Hello World from Thread 877 in block 63\n",
"Hello World from Thread 878 in block 63\n",
"Hello World from Thread 879 in block 63\n",
"Hello World from Thread 880 in block 63\n",
"Hello World from Thread 881 in block 63\n",
"Hello World from Thread 882 in block 63\n",
"Hello World from Thread 883 in block 63\n",
"Hello World from Thread 884 in block 63\n",
"Hello World from Thread 885 in block 63\n",
"Hello World from Thread 886 in block 63\n",
"Hello World from Thread 887 in block 63\n",
"Hello World from Thread 888 in block 63\n",
"Hello World from Thread 889 in block 63\n",
"Hello World from Thread 890 in block 63\n",
"Hello World from Thread 891 in block 63\n",
"Hello World from Thread 892 in block 63\n",
"Hello World from Thread 893 in block 63\n",
"Hello World from Thread 894 in block 63\n",
"Hello World from Thread 895 in block 63\n",
"Hello World from Thread 32 in block 63\n",
"Hello World from Thread 33 in block 63\n",
"Hello World from Thread 34 in block 63\n",
"Hello World from Thread 35 in block 63\n",
"Hello World from Thread 36 in block 63\n",
"Hello World from Thread 37 in block 63\n",
"Hello World from Thread 38 in block 63\n",
"Hello World from Thread 39 in block 63\n",
"Hello World from Thread 40 in block 63\n",
"Hello World from Thread 41 in block 63\n",
"Hello World from Thread 42 in block 63\n",
"Hello World from Thread 43 in block 63\n",
"Hello World from Thread 44 in block 63\n",
"Hello World from Thread 45 in block 63\n",
"Hello World from Thread 46 in block 63\n",
"Hello World from Thread 47 in block 63\n",
"Hello World from Thread 48 in block 63\n",
"Hello World from Thread 49 in block 63\n",
"Hello World from Thread 50 in block 63\n",
"Hello World from Thread 51 in block 63\n",
"Hello World from Thread 52 in block 63\n",
"Hello World from Thread 53 in block 63\n",
"Hello World from Thread 54 in block 63\n",
"Hello World from Thread 55 in block 63\n",
"Hello World from Thread 56 in block 63\n",
"Hello World from Thread 57 in block 63\n",
"Hello World from Thread 58 in block 63\n",
"Hello World from Thread 59 in block 63\n",
"Hello World from Thread 60 in block 63\n",
"Hello World from Thread 61 in block 63\n",
"Hello World from Thread 62 in block 63\n",
"Hello World from Thread 63 in block 63\n",
"Hello World from Thread 384 in block 63\n",
"Hello World from Thread 385 in block 63\n",
"Hello World from Thread 386 in block 63\n",
"Hello World from Thread 387 in block 63\n",
"Hello World from Thread 388 in block 63\n",
"Hello World from Thread 389 in block 63\n",
"Hello World from Thread 390 in block 63\n",
"Hello World from Thread 391 in block 63\n",
"Hello World from Thread 392 in block 63\n",
"Hello World from Thread 393 in block 63\n",
"Hello World from Thread 394 in block 63\n",
"Hello World from Thread 395 in block 63\n",
"Hello World from Thread 396 in block 63\n",
"Hello World from Thread 397 in block 63\n",
"Hello World from Thread 398 in block 63\n",
"Hello World from Thread 399 in block 63\n",
"Hello World from Thread 400 in block 63\n",
"Hello World from Thread 401 in block 63\n",
"Hello World from Thread 402 in block 63\n",
"Hello World from Thread 403 in block 63\n",
"Hello World from Thread 404 in block 63\n",
"Hello World from Thread 405 in block 63\n",
"Hello World from Thread 406 in block 63\n",
"Hello World from Thread 407 in block 63\n",
"Hello World from Thread 408 in block 63\n",
"Hello World from Thread 409 in block 63\n",
"Hello World from Thread 410 in block 63\n",
"Hello World from Thread 411 in block 63\n",
"Hello World from Thread 412 in block 63\n",
"Hello World from Thread 413 in block 63\n",
"Hello World from Thread 414 in block 63\n",
"Hello World from Thread 415 in block 63\n",
"Hello World from Thread 640 in block 63\n",
"Hello World from Thread 641 in block 63\n",
"Hello World from Thread 642 in block 63\n",
"Hello World from Thread 643 in block 63\n",
"Hello World from Thread 644 in block 63\n",
"Hello World from Thread 645 in block 63\n",
"Hello World from Thread 646 in block 63\n",
"Hello World from Thread 647 in block 63\n",
"Hello World from Thread 648 in block 63\n",
"Hello World from Thread 649 in block 63\n",
"Hello World from Thread 650 in block 63\n",
"Hello World from Thread 651 in block 63\n",
"Hello World from Thread 652 in block 63\n",
"Hello World from Thread 653 in block 63\n",
"Hello World from Thread 654 in block 63\n",
"Hello World from Thread 655 in block 63\n",
"Hello World from Thread 656 in block 63\n",
"Hello World from Thread 657 in block 63\n",
"Hello World from Thread 658 in block 63\n",
"Hello World from Thread 659 in block 63\n",
"Hello World from Thread 660 in block 63\n",
"Hello World from Thread 661 in block 63\n",
"Hello World from Thread 662 in block 63\n",
"Hello World from Thread 663 in block 63\n",
"Hello World from Thread 664 in block 63\n",
"Hello World from Thread 665 in block 63\n",
"Hello World from Thread 666 in block 63\n",
"Hello World from Thread 667 in block 63\n",
"Hello World from Thread 668 in block 63\n",
"Hello World from Thread 669 in block 63\n",
"Hello World from Thread 670 in block 63\n",
"Hello World from Thread 671 in block 63\n",
"Hello World from Thread 448 in block 63\n",
"Hello World from Thread 449 in block 63\n",
"Hello World from Thread 450 in block 63\n",
"Hello World from Thread 451 in block 63\n",
"Hello World from Thread 452 in block 63\n",
"Hello World from Thread 453 in block 63\n",
"Hello World from Thread 454 in block 63\n",
"Hello World from Thread 455 in block 63\n",
"Hello World from Thread 456 in block 63\n",
"Hello World from Thread 457 in block 63\n",
"Hello World from Thread 458 in block 63\n",
"Hello World from Thread 459 in block 63\n",
"Hello World from Thread 460 in block 63\n",
"Hello World from Thread 461 in block 63\n",
"Hello World from Thread 462 in block 63\n",
"Hello World from Thread 463 in block 63\n",
"Hello World from Thread 464 in block 63\n",
"Hello World from Thread 465 in block 63\n",
"Hello World from Thread 466 in block 63\n",
"Hello World from Thread 467 in block 63\n",
"Hello World from Thread 468 in block 63\n",
"Hello World from Thread 469 in block 63\n",
"Hello World from Thread 470 in block 63\n",
"Hello World from Thread 471 in block 63\n",
"Hello World from Thread 472 in block 63\n",
"Hello World from Thread 473 in block 63\n",
"Hello World from Thread 474 in block 63\n",
"Hello World from Thread 475 in block 63\n",
"Hello World from Thread 476 in block 63\n",
"Hello World from Thread 477 in block 63\n",
"Hello World from Thread 478 in block 63\n",
"Hello World from Thread 479 in block 63\n",
"Hello World from Thread 960 in block 63\n",
"Hello World from Thread 961 in block 63\n",
"Hello World from Thread 962 in block 63\n",
"Hello World from Thread 963 in block 63\n",
"Hello World from Thread 964 in block 63\n",
"Hello World from Thread 965 in block 63\n",
"Hello World from Thread 966 in block 63\n",
"Hello World from Thread 967 in block 63\n",
"Hello World from Thread 968 in block 63\n",
"Hello World from Thread 969 in block 63\n",
"Hello World from Thread 970 in block 63\n",
"Hello World from Thread 971 in block 63\n",
"Hello World from Thread 972 in block 63\n",
"Hello World from Thread 973 in block 63\n",
"Hello World from Thread 974 in block 63\n",
"Hello World from Thread 975 in block 63\n",
"Hello World from Thread 976 in block 63\n",
"Hello World from Thread 977 in block 63\n",
"Hello World from Thread 978 in block 63\n",
"Hello World from Thread 979 in block 63\n",
"Hello World from Thread 980 in block 63\n",
"Hello World from Thread 981 in block 63\n",
"Hello World from Thread 982 in block 63\n",
"Hello World from Thread 983 in block 63\n",
"Hello World from Thread 984 in block 63\n",
"Hello World from Thread 985 in block 63\n",
"Hello World from Thread 986 in block 63\n",
"Hello World from Thread 987 in block 63\n",
"Hello World from Thread 988 in block 63\n",
"Hello World from Thread 989 in block 63\n",
"Hello World from Thread 990 in block 63\n",
"Hello World from Thread 991 in block 63\n",
"Hello World from Thread 576 in block 63\n",
"Hello World from Thread 577 in block 63\n",
"Hello World from Thread 578 in block 63\n",
"Hello World from Thread 579 in block 63\n",
"Hello World from Thread 580 in block 63\n",
"Hello World from Thread 581 in block 63\n",
"Hello World from Thread 582 in block 63\n",
"Hello World from Thread 583 in block 63\n",
"Hello World from Thread 584 in block 63\n",
"Hello World from Thread 585 in block 63\n",
"Hello World from Thread 586 in block 63\n",
"Hello World from Thread 587 in block 63\n",
"Hello World from Thread 588 in block 63\n",
"Hello World from Thread 589 in block 63\n",
"Hello World from Thread 590 in block 63\n",
"Hello World from Thread 591 in block 63\n",
"Hello World from Thread 592 in block 63\n",
"Hello World from Thread 593 in block 63\n",
"Hello World from Thread 594 in block 63\n",
"Hello World from Thread 595 in block 63\n",
"Hello World from Thread 596 in block 63\n",
"Hello World from Thread 597 in block 63\n",
"Hello World from Thread 598 in block 63\n",
"Hello World from Thread 599 in block 63\n",
"Hello World from Thread 600 in block 63\n",
"Hello World from Thread 601 in block 63\n",
"Hello World from Thread 602 in block 63\n",
"Hello World from Thread 603 in block 63\n",
"Hello World from Thread 604 in block 63\n",
"Hello World from Thread 605 in block 63\n",
"Hello World from Thread 606 in block 63\n",
"Hello World from Thread 607 in block 63\n",
"Hello World from Thread 704 in block 63\n",
"Hello World from Thread 705 in block 63\n",
"Hello World from Thread 706 in block 63\n",
"Hello World from Thread 707 in block 63\n",
"Hello World from Thread 708 in block 63\n",
"Hello World from Thread 709 in block 63\n",
"Hello World from Thread 710 in block 63\n",
"Hello World from Thread 711 in block 63\n",
"Hello World from Thread 712 in block 63\n",
"Hello World from Thread 713 in block 63\n",
"Hello World from Thread 714 in block 63\n",
"Hello World from Thread 715 in block 63\n",
"Hello World from Thread 716 in block 63\n",
"Hello World from Thread 717 in block 63\n",
"Hello World from Thread 718 in block 63\n",
"Hello World from Thread 719 in block 63\n",
"Hello World from Thread 720 in block 63\n",
"Hello World from Thread 721 in block 63\n",
"Hello World from Thread 722 in block 63\n",
"Hello World from Thread 723 in block 63\n",
"Hello World from Thread 724 in block 63\n",
"Hello World from Thread 725 in block 63\n",
"Hello World from Thread 726 in block 63\n",
"Hello World from Thread 727 in block 63\n",
"Hello World from Thread 728 in block 63\n",
"Hello World from Thread 729 in block 63\n",
"Hello World from Thread 730 in block 63\n",
"Hello World from Thread 731 in block 63\n",
"Hello World from Thread 732 in block 63\n",
"Hello World from Thread 733 in block 63\n",
"Hello World from Thread 734 in block 63\n",
"Hello World from Thread 735 in block 63\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n"
]
}
],
"source": [
"%%bash\n",
"# Execute this cell to compile & run the Hello Parallelism example labeled task1\n",
"echo \"Server name:\" $HOSTNAME\n",
"module load cuda/8.0\n",
"date\n",
"echo \"Compile and run...\"\n",
"nvcc -arch=sm_30 -o task1_out exercices/task1.cu -run\n",
"echo \"Done.\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Task #1\n",
"\n",
"Your first task in this lab is to play around with the number of blocks, and threads per block by modifying the values in the `<<< >>>` brackets. To make these changes, click on the `exercices` folder in the editor below. After that you should be able to select task1.cu to open the file.\n",
"\n",
"* What do you expect to see if you do `<<<2, 1>>>`?\n",
"I expect to see two hello world print\n",
"```\n",
"Hello World from Thread 0 in block 0\n",
"Hello World from Thread 0 in block 1\n",
"```\n",
"* What do you expect to see if you do `<<<1, 18>>>`? Do the threads print out their values in order?\n",
"I expect to see 18 printf from thread 0 block 0 to thread 17 block 0 (and not in order in all case) \n",
"--> en fait c'est dans l'odre car petit nb de thread\n",
"* Can you make the values in the `<<< >>>` arbitrarily large?\n",
"si valeur très large, alors pas dans l'ordre\n",
"limite à 1024 threads par block\n",
"\n",
"\n",
"\n",
"After making a change, **make sure to save the file** by simply clicking the `save` button below. As a reminder, saving the file actually saves it on the ROMEO cluster you're working on. To get a copy of the files, consult the <a href=\"#post-lab\">Post-Lab</a> section near the end of this page.\n",
"\n",
"To compile and run, simply re-execute the cell above this area."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"500\"\n",
" src=\"https://romeolab.univ-reims.fr/702_rJLmCD9TQITbmeifa6i69Ld/edit/exercices/task1.cu\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x7fa8cc12c390>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"editor('exercices/task1.cu')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Congratulations! You have successfully modified, compiled and executed your first program on the GPU!\n",
"\n",
"Besides just getting our hands dirty compiling and executing code on the GPU, task1 was meant to enforce a fundamental principle. If you set the number of threads per block to at least 18, you should have noticed the threads were no longer printing their Hello Parallelism strings in ascending order - some randomness started to creep in. The reason for this, is we're executing these blocks & threads on a massively parallel GPU. So there will be 100's if not 1000's of threads all executing simultaneously with respect to each other. It's basically a race condition to see who gets to print their values first.\n",
"\n",
"In a more realistic example, like we'll work on below, we need to ensure there is enough memory allocated to hold the results from all our threads, so we do not have such a race condition."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Writing and Launching GPU Kernels\n",
"\n",
"### Task #2\n",
"\n",
"Now that you have had some experience launching a function on the GPU with different numbers of threads, it's time to write your first GPU kernel yourself. You're going to be accelerating the ever popular SAXPY (**S**ingle-precision **A** times **X** **P**lus **Y**) function on the GPU using CUDA C/C++.\n",
"\n",
"Using the concepts introduced in Task #1, modify the following code to run on the GPU. The `#FIXME :...#` text in the code will help you focus on the appropriate areas that need modification. You'll probably notice two new API calls in the code below; `cudaMallocManaged` and `cudaFree`. These two functions are working with managed memory using CUDA's Unified Memory system. We'll explore this in Part 2 of this lab. For the moment, you just need to know that they are replacing `malloc` and `free`, respectively.\n",
"\n",
"In the text editor below, open the task2.cu file and begin working. If you get stuck, or just want to check your answer, feel free to look at the task2_solution.cu file."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"500\"\n",
" src=\"https://romeolab.univ-reims.fr/702_rJLmCD9TQITbmeifa6i69Ld/edit/exercices/task2.cu\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x7fa8d99cfba8>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"editor('exercices/task2.cu')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Server name: romeo109\n",
"Wed Dec 13 08:54:45 CET 2017\n",
"Compile and run...\n",
"c[0] = 5, c[1] = 5, c[2] = 5, c[3] = 5, c[4] = 5, \n",
"c[4194299] = 5, c[4194300] = 5, c[4194301] = 5, c[4194302] = 5, c[4194303] = 5, \n",
"Done\n"
]
}
],
"source": [
"%%bash\n",
"echo \"Server name:\" $HOSTNAME\n",
"module load cuda/8.0\n",
"date\n",
"echo \"Compile and run...\"\n",
"nvcc -arch=sm_30 -o task2_out exercices/task2.cu -run\n",
"echo \"Done\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The output of your program should be all 5's. If you got this, you have successfully modified the saxpy function to execute on the massively parallel GPU! If you are still not able to get the correct output, please have a look at the task2_solution.cu file and see if you can figure out what you were missing!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Task #3\n",
"\n",
"The next function we will accelerate is a basic matrix multiplication function. In this simplified example, we'll assume our matrices are all square - they have the same number of rows and columns. Your goal is to modify the `matrixMulGPU` function with CUDA so it will run on the GPU. However, there is a new twist! Instead of just using one-dimensional blocks of threads and blocks, we'll be using two dimensions; x and y. So, in addition to using `blockIdx.x`, `blockDim.x`, and `threadIdx.x`, you'll also need to use <code>blockIdx.<span style=\"color:orange\">**y**</span></code>, <code>blockDim.<span style=\"color:orange\">**y**</span></code>, and <code>threadIdx.<span style=\"color:orange\">**y**</span></code>. \n",
"\n",
"Besides replacing the `#FIXME: ...#` blocks in the `matrixMulGPU` function, you will need to finish initializing the `number_of_blocks` variable in the `main` function to launch the appropriate number of thread blocks. This is all marked with `#FIXME: ...#` in the code.\n",
"\n",
"Please make use of the hints provided if you get stuck, and you can always check the task3_solution.cu file to see the answer.\n",
"\n",
"**Note**: do not modify the CPU version `matrixMulCPU`. This is used to verify the results of the GPU version.\n",
"\n",
"[Hints for Task #3](#Task-#3-Hints)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"500\"\n",
" src=\"https://romeolab.univ-reims.fr/702_rJLmCD9TQITbmeifa6i69Ld/edit/exercices/task3.cu\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x7fa8cc12cc50>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"editor('exercices/task3.cu')"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Submitted batch job 1018617\n",
"Running ..\n",
"End batch job 1018617 Status: COMPLETED \n",
"\n",
"Slurm command was : sbatch -n 1 -N 1 -n 2 -c 8 --gres=gpu:2 --output=/home/lab00041/GPUAvanceInfo0935-FA2017/NvidiaCuda/python-execute-slurm/%J.out --error=/home/lab00041/GPUAvanceInfo0935-FA2017/NvidiaCuda/python-execute-slurm/%J.err\n",
"Server name: romeo100\n",
"Wed Dec 13 09:52:24 CET 2017\n",
"Compile and run...\n",
"Success!\n",
"Done\n"
]
}
],
"source": [
"%%execute\n",
"echo \"Server name:\" $HOSTNAME\n",
"module load cuda/8.0\n",
"date\n",
"echo \"Compile and run...\"\n",
"nvcc -arch=sm_30 -o task3_out exercices/task3.cu -run\n",
"echo \"Done\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Error Handling\n",
"\n",
"If you started changing with the number of blocks and threads per block in the above examples, you may have noticed some cases where you were not getting the expected answer. Up to this point we have not added any type of error checking, which makes it very hard to tell why a problem is occurring. Error checking is just as important when programming for a GPU as for a CPU. So let's add some error checking to the SAXPY example and see if we can introduce some errors to catch.\n",
"\n",
"**Note**: In order to focus on a specific topic, and to keep code and instructions short, a number of examples in this lab leave out error checking code. However, it is highly encourage you include error checking in your code whenever possible!\n",
"\n",
"### Task #4\n",
"\n",
"The SAXPY code for this task is slightly different than in Task #2. For starters, we are storing the result of our computation back into the `y` array instead of a separate array. We're also using `float` values for our arrays instead of integers. On the host side, after calculating our SAXPY result, the code will check for correctness. If everything is working, the program will print `Max Error: 0.00000`.\n",
"\n",
"Now let's discuss the different types of errors we need to check for. Kernels are launched asynchronously with respect to the host, meaning that control returns to the host code immediately **after** a kernel is launched but **before** the kernel completes. As a result we need to check for two types of error; synchronous errors dealing with the kernel launch and asynchronous errors that can happen during kernel execution. To check for synchronous errors we use the function `cudaGetLastError()`, which returns an integer error code. In the example below we compare the result of `cudaGetLastError()` and if it does not equal `cudaSuccess` (defined in the `cudaFor` module), we have an error:\n",
"\n",
"```cpp\n",
"cudaError_t ierrSync;\n",
"...\n",
"myKernel<<<grid, blocks>>>(...);\n",
"ierrSync = cudaGetLastError();\n",
"if (ierrSync != cudaSuccess) { printf(\"Sync error: %s\\n\", cudaGetErrorString(ierrSync)); }\n",
"```\n",
"\n",
"To check for an error during execution we need to wait for the kernel to complete. This is accomplished using the function `cudaDeviceSynchronize()`. As with all CUDA API calls, `cudaDeviceSynchronize()` returns an integer error code and used in this fashion will capture any error that occurs on the device while executing the kernel. Example usage:\n",
"\n",
"```cpp\n",
"cudaError_t ierrAsync;\n",
"...\n",
"myKernel<<<grid, blocks>>>(...);\n",
"ierrAsync = cudaDeviceSynchronize();\n",
"if (ierrAsync != cudaSuccess) { printf(\"Async error: %s\\n\", cudaGetErrorString(ierrSync)); }\n",
"```\n",
" \n",
"In addition to the above code changes, there is a logic bug introduced in the code below. Your objective for Task #4 is to add both types of error checking to the source code and try to find the bug. Before modifying any code, compile and run the programs as it is and see the result. Then add error checking and see if you can figure out what the bug is and fix it. As always, the solution is provided so you can check your work, or look at if you get stuck.\n",
"\n",
"[Hints for Task #4](#Task-#4-Hints)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe\n",
" width=\"100%\"\n",
" height=\"500\"\n",
" src=\"https://romeolab.univ-reims.fr/702_rJLmCD9TQITbmeifa6i69Ld/edit/exercices/task4.cu\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.IFrame at 0x7fa8cc0e3d68>"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"editor('exercices/task4.cu')"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Submitted batch job 1018638\n",
"Running ..\n",
"End batch job 1018638 Status: COMPLETED \n",
"\n",
"Slurm command was : sbatch -n 1 -N 1 -n 2 -c 8 --gres=gpu:2 --output=/home/lab00041/GPUAvanceInfo0935-FA2017/NvidiaCuda/python-execute-slurm/%J.out --error=/home/lab00041/GPUAvanceInfo0935-FA2017/NvidiaCuda/python-execute-slurm/%J.err\n",
"Server name: romeo22\n",
"Wed Dec 13 10:01:02 CET 2017\n",
"Compile and run...\n",
"Max Error: 0.00000Done\n"
]
}
],
"source": [
"%%execute\n",
"echo \"Server name:\" $HOSTNAME\n",
"module load cuda/8.0\n",
"date\n",
"echo \"Compile and run...\"\n",
"nvcc -arch=sm_30 -o task4_out exercices/task4.cu -run\n",
"echo \"Done\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Learn More\n",
"\n",
"Please take Part 2 of this lab to learn more about querying GPU Devices, Memory Management, and a case study!\n",
"\n",
"If you are interested in learning more, you can use the following resources:\n",
"\n",
"* Learn more at the [CUDA Developer Zone](https://developer.nvidia.com/category/zone/cuda-zone).\n",
"* If you have an NVIDIA GPU in your system, you can download and install the [CUDA tookit](https://developer.nvidia.com/cuda-toolkit).\n",
"* Take the fantastic online and **free** Udacity [Intro to Parallel Programming](https://www.udacity.com/course/cs344) course which uses CUDA C.\n",
"* Search or ask questions on [Stackoverflow](http://stackoverflow.com/questions/tagged/cuda) using the cuda tag"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"post-lab\"></a>\n",
"## Post-Lab\n",
"\n",
"Finally, don't forget to save your work from this lab before time runs out and the instance shuts down!!\n",
"\n",
"1. Save this IPython Notebook by going to `File -> Download as -> IPython (.ipynb)` at the top of this window\n",
"2. You can execute the following cell block to create a zip-file of the files you've been working on, and download it with the link below."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%%bash\n",
"rm -f cuda_c_files_part1.zip\n",
"zip -r cuda_c_files_part1.zip exercices/*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**After** executing the above cell, you should be able to download the zip file [here](files/cuda_c_files_part1.zip)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"FAQ\"></a>\n",
"---\n",
"# Lab FAQ\n",
"\n",
"Q: I'm encountering issues executing the cells, or other technical problems?<br>\n",
"A: Please see [this](https://developer.nvidia.com/self-paced-labs-faq#Troubleshooting) infrastructure FAQ.\n",
"\n",
"Q: I'm getting unexpected behavior (i.e., incorrect output) when running any of the tasks.<br>\n",
"A: It's possible that one or more of the CUDA Runtime API calls are actually returning an error, but the code above is not checking for this (due to the time constraints of this lab). Try checking the return value of any CUDA Runtime API call and see if the value is non-zero indicating an error."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hints\n",
"\n",
"---\n",
"\n",
"### Task #3 Hints\n",
"\n",
"#### Hint #1\n",
"You'll be using a single thread to calculate one element of the output matrix `c`. Each thread will execute the inner-most loop of the matrix multiplication formula.\n",
"\n",
"#### Hint #2\n",
"The `row` value should be set to `blockIdx.x * blockDim.x + threadIdx.x` to get the thread which is calculating the row part of the `c` matrix. Can you figure out what the `col` value should be set to?\n",
"\n",
"#### Hint #3\n",
"Don't forget the `__global__` keyword to tell the compiler that `matrixMulGPU` is now a GPU function!\n",
"\n",
"#### Hint #4\n",
"Just like the CPU version, we need to make sure we do not do more work than we have data. Make sure you're doing a check in your modified code so that `row` **and** `col` are less than N.\n",
"\n",
"[Return to Task #3](#Task-#3)\n",
"\n",
"---\n",
"### Task #4 Hints\n",
"\n",
"#### Hint #1\n",
"An error string of \"invalid configuration argument\" usually indicates there are to many threads per block being used.\n",
"\n",
"#### Hint #2\n",
"The max number of threads in the X-dimension for our GPU is 1024, but you could choose a value less than that as well\n",
"\n",
"[Return to Task #4](#Task-#4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"<style>\n",
"p.hint_trigger{\n",
" margin-bottom:7px;\n",
" margin-top:-5px;\n",
" background:#64E84D;\n",
"}\n",
".toggle_container{\n",
" margin-bottom:0px;\n",
"}\n",
".toggle_container p{\n",
" margin:2px;\n",
"}\n",
".toggle_container{\n",
" background:#f0f0f0;\n",
" clear: both;\n",
" font-size:100%;\n",
"}\n",
"</style>\n",
"<script>\n",
"$(\"p.hint_trigger\").click(function(){\n",
" $(this).toggleClass(\"active\").next().slideToggle(\"normal\");\n",
"});\n",
" \n",
"$(\".toggle_container\").hide();\n",
"</script>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.3"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "401px",
"width": "251px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": false,
"toc_number_sections": true,
"toc_section_display": "block",
"toc_threshold": "2",
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment