Bird
Raised Fist0
PyTorchml~20 mins

CUDA availability check in PyTorch - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
CUDA Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:30remaining
Check CUDA availability output
What is the output of this PyTorch code snippet that checks if CUDA is available?
PyTorch
import torch
print(torch.cuda.is_available())
ATrue if a CUDA-enabled GPU is available, otherwise False
BThe number of CUDA devices available as an integer
CRaises a RuntimeError if CUDA is not installed
DAlways prints False regardless of hardware
Attempts:
2 left
💡 Hint
This function returns a boolean indicating hardware availability.
🧠 Conceptual
intermediate
1:30remaining
Understanding CUDA device count
Which PyTorch function correctly returns the number of CUDA devices available on the system?
Atorch.cuda.current_device()
Btorch.cuda.is_available()
Ctorch.cuda.get_device_name()
Dtorch.cuda.device_count()
Attempts:
2 left
💡 Hint
This function returns an integer count of GPUs.
🔧 Debug
advanced
2:00remaining
Diagnose CUDA availability error
What error will this code raise if CUDA is not available on the system?
PyTorch
import torch
print(torch.cuda.current_device())
AIndexError: list index out of range
BRuntimeError: CUDA error: invalid device ordinal
CAssertionError: CUDA not available
DNo error, prints 0
Attempts:
2 left
💡 Hint
current_device() requires at least one CUDA device.
❓ Model Choice
advanced
2:00remaining
Choosing device for model training
Given this code snippet, which device will the model be moved to if CUDA is available?
PyTorch
import torch
model = torch.nn.Linear(10, 2)
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model.to(device)
print(next(model.parameters()).device)
Acuda:0
Bcpu
Ccuda:1
DRaises an error
Attempts:
2 left
💡 Hint
The device string 'cuda' defaults to the first GPU.
❓ Metrics
expert
2:30remaining
Interpreting CUDA memory usage
What does the following PyTorch code output represent?
PyTorch
import torch
print(torch.cuda.memory_allocated())
AThe peak memory usage during the program run
BThe total GPU memory available on the system in bytes
CThe number of bytes currently allocated by tensors on the default CUDA device
DThe number of CUDA devices available
Attempts:
2 left
💡 Hint
This function reports memory used by tensors, not total or peak memory.

Practice

(1/5)
1. What does the function torch.cuda.is_available() check in PyTorch?
easy
A. If the CPU supports multi-threading
B. If a CUDA-capable GPU is available for PyTorch to use
C. If the PyTorch version is up to date
D. If the current script has internet access

Solution

  1. Step 1: Understand the purpose of torch.cuda.is_available()

    This function checks if PyTorch can access a CUDA-enabled GPU on the machine.
  2. Step 2: Differentiate from other hardware checks

    It does not check CPU features, PyTorch version, or internet access.
  3. Final Answer:

    If a CUDA-capable GPU is available for PyTorch to use -> Option B
  4. Quick Check:

    torch.cuda.is_available() = GPU availability [OK]
Hint: Check GPU presence with torch.cuda.is_available() [OK]
Common Mistakes:
  • Confusing CUDA availability with CPU features
  • Assuming it checks PyTorch version
  • Thinking it checks internet connection
2. Which of the following is the correct syntax to check CUDA availability in PyTorch?
easy
A. torch.cuda.is_available()
B. torch.cuda.available()
C. torch.is_cuda_available()
D. torch.cuda.check_available()

Solution

  1. Step 1: Recall the exact function name

    The correct function is torch.cuda.is_available() with this exact spelling and structure.
  2. Step 2: Identify incorrect options

    Other options have wrong function names or missing parts.
  3. Final Answer:

    torch.cuda.is_available() -> Option A
  4. Quick Check:

    Correct function name = torch.cuda.is_available() [OK]
Hint: Remember exact function: torch.cuda.is_available() [OK]
Common Mistakes:
  • Misspelling the function name
  • Omitting 'is_' prefix
  • Using incorrect method names
3. What will be the output of this code snippet if the machine has no CUDA GPU?
import torch
print(torch.cuda.is_available())
medium
A. False
B. Raises an error
C. null
D. True

Solution

  1. Step 1: Understand torch.cuda.is_available() output

    This function returns a boolean: true if CUDA GPU is available, false otherwise.
  2. Step 2: Consider no CUDA GPU present

    If no CUDA GPU exists, the function returns false without error.
  3. Final Answer:

    False -> Option A
  4. Quick Check:

    No GPU means torch.cuda.is_available() = False [OK]
Hint: No GPU means torch.cuda.is_available() returns False [OK]
Common Mistakes:
  • Expecting null instead of False
  • Thinking it raises an error without GPU
  • Confusing output with string 'False'
4. Identify the error in this code snippet that checks for CUDA availability:
import torch
if torch.cuda.is_available:
    device = torch.device('cuda')
else:
    device = torch.device('cpu')
medium
A. Should import 'torch.cuda' separately
B. Wrong device string 'cuda' instead of 'gpu'
C. Missing parentheses after 'is_available' function call
D. No error, code is correct

Solution

  1. Step 1: Check function call syntax

    torch.cuda.is_available is a function and must be called with parentheses: torch.cuda.is_available()
  2. Step 2: Verify device string correctness

    'cuda' is the correct device string, so no error there.
  3. Final Answer:

    Missing parentheses after 'is_available' function call -> Option C
  4. Quick Check:

    Function call needs () = Missing parentheses [OK]
Hint: Always add () when calling torch.cuda.is_available [OK]
Common Mistakes:
  • Forgetting parentheses on is_available
  • Using 'gpu' instead of 'cuda' as device string
  • Thinking torch.cuda needs separate import
5. You want your PyTorch model to run on GPU if available, otherwise on CPU. Which code snippet correctly sets the device?
hard
A. device = torch.device('gpu' if torch.cuda.is_available() else 'cpu')
B. device = torch.device('cpu' if torch.cuda.is_available() else 'cuda')
C. device = torch.device('cuda') if torch.cuda.is_available else torch.device('cpu')
D. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

Solution

  1. Step 1: Use torch.cuda.is_available() with parentheses

    The function must be called with parentheses to get a boolean result.
  2. Step 2: Correct device string and conditional expression

    Use 'cuda' when GPU is available, else 'cpu'. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') uses correct syntax and logic.
  3. Final Answer:

    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') -> Option D
  4. Quick Check:

    Correct device setting = device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') [OK]
Hint: Use device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') [OK]
Common Mistakes:
  • Swapping 'cpu' and 'cuda' in conditional
  • Missing parentheses on is_available
  • Using 'gpu' instead of 'cuda' as device string
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard