Skip to content

Commit 9f09f90

Browse files
committed
Try different cuda package names:
sub-packages: '["nvcc", "cudart", "cublas", "cufft", "curand", "cusolver"]'
1 parent 49a5582 commit 9f09f90

3 files changed

Lines changed: 2 additions & 50 deletions

File tree

.github/workflows/build-wheels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ jobs:
154154
cuda: '11.8.0'
155155
method: 'network' # Downloads only needed components
156156
# Install only essential packages for PyHelios GPU plugins (~2-3GB vs 8GB+ full toolkit)
157-
sub-packages: '["nvcc", "cudart", "cublas-dev", "cufft-dev", "curand-dev", "cusolver-dev"]'
157+
sub-packages: '["nvcc", "cudart", "cublas", "cufft", "curand", "cusolver"]'
158158

159159
- name: Build wheels
160160
run: python -m cibuildwheel --output-dir wheelhouse

native/src/pyhelios_wrapper_common.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,8 @@ static thread_local int last_error_code = PYHELIOS_SUCCESS;
1212

1313
// Helper function to set error state with PyHelios error codes
1414
void setError(int error_code, const std::string& message) {
15-
// Debug logging for macOS CI thread_local investigation
16-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] setError called: code=%d, message=%s\n", error_code, message.c_str());
17-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] Previous error state: code=%d\n", last_error_code);
18-
1915
last_error_code = error_code;
2016
last_error_message = message;
21-
22-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] Error state updated: code=%d\n", last_error_code);
2317
}
2418

2519
extern "C" {
@@ -29,7 +23,6 @@ extern "C" {
2923
//=============================================================================
3024

3125
int getLastErrorCode() {
32-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] getLastErrorCode() returning: %d\n", last_error_code);
3326
return last_error_code;
3427
}
3528

@@ -38,10 +31,8 @@ extern "C" {
3831
}
3932

4033
void clearError() {
41-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] clearError() called, previous code: %d\n", last_error_code);
4234
last_error_code = PYHELIOS_SUCCESS;
4335
last_error_message.clear();
44-
fprintf(stderr, "[DEBUG-THREAD_LOCAL] clearError() completed, new code: %d\n", last_error_code);
4536
}
4637

4738
} //extern "C"

native/src/pyhelios_wrapper_context.cpp

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,45 +1476,24 @@ extern "C" {
14761476
}
14771477

14781478
void setPrimitiveDataInt(helios::Context* context, unsigned int uuid, const char* label, int value) {
1479-
// Clear error state before any operation to prevent contamination from previous calls
14801479
clearError();
1481-
1482-
// Debug logging for macOS CI investigation
1483-
fprintf(stderr, "[DEBUG-MACOS] setPrimitiveDataInt: uuid=%u, label=%s, value=%d\n", uuid, label, value);
1484-
fprintf(stderr, "[DEBUG-MACOS] Initial error state: code=%d\n", getLastErrorCode());
1485-
14861480
try {
14871481
if (!context) {
14881482
setError(PYHELIOS_ERROR_INVALID_PARAMETER, "Context pointer is null");
1489-
fprintf(stderr, "[DEBUG-MACOS] ERROR: Context pointer is null\n");
14901483
return;
14911484
}
14921485
if (!label) {
14931486
setError(PYHELIOS_ERROR_INVALID_PARAMETER, "Label is null");
1494-
fprintf(stderr, "[DEBUG-MACOS] ERROR: Label is null\n");
14951487
return;
14961488
}
14971489

1498-
fprintf(stderr, "[DEBUG-MACOS] About to call context->setPrimitiveData()\n");
14991490
context->setPrimitiveData(uuid, label, value);
15001491

1501-
// Memory barrier to ensure data write completion before verification
1502-
std::atomic_thread_fence(std::memory_order_seq_cst);
1503-
fprintf(stderr, "[DEBUG-MACOS] context->setPrimitiveData() completed successfully with memory barrier\n");
1504-
1505-
// Immediate verification to debug thread_local storage issue
1506-
bool exists_immediately = context->doesPrimitiveDataExist(uuid, label);
1507-
fprintf(stderr, "[DEBUG-MACOS] Immediate verification: exists=%s\n", exists_immediately ? "true" : "false");
1508-
15091492
} catch (const std::exception& e) {
15101493
setError(PYHELIOS_ERROR_RUNTIME, std::string("ERROR (Context::setPrimitiveData): ") + e.what());
1511-
fprintf(stderr, "[DEBUG-MACOS] Exception caught: %s\n", e.what());
15121494
} catch (...) {
15131495
setError(PYHELIOS_ERROR_UNKNOWN, "ERROR (Context::setPrimitiveData): Unknown error setting primitive data int.");
1514-
fprintf(stderr, "[DEBUG-MACOS] Unknown exception caught\n");
15151496
}
1516-
1517-
fprintf(stderr, "[DEBUG-MACOS] Final error state: code=%d\n", getLastErrorCode());
15181497
}
15191498

15201499
void setPrimitiveDataString(helios::Context* context, unsigned int uuid, const char* label, const char* value) {
@@ -1617,44 +1596,26 @@ extern "C" {
16171596
}
16181597

16191598
bool doesPrimitiveDataExist(helios::Context* context, unsigned int uuid, const char* label) {
1620-
// Clear error state before any operation to prevent contamination from previous calls
16211599
clearError();
1622-
1623-
// Debug logging for macOS CI investigation
1624-
fprintf(stderr, "[DEBUG-MACOS] doesPrimitiveDataExist: uuid=%u, label=%s\n", uuid, label);
1625-
fprintf(stderr, "[DEBUG-MACOS] Initial error state: code=%d\n", getLastErrorCode());
1626-
16271600
try {
16281601
if (!context) {
16291602
setError(PYHELIOS_ERROR_INVALID_PARAMETER, "Context pointer is null");
1630-
fprintf(stderr, "[DEBUG-MACOS] ERROR: Context pointer is null\n");
16311603
return false;
16321604
}
16331605
if (!label) {
16341606
setError(PYHELIOS_ERROR_INVALID_PARAMETER, "Label is null");
1635-
fprintf(stderr, "[DEBUG-MACOS] ERROR: Label is null\n");
16361607
return false;
16371608
}
16381609

1639-
fprintf(stderr, "[DEBUG-MACOS] About to call context->doesPrimitiveDataExist()\n");
1610+
return context->doesPrimitiveDataExist(uuid, label);
16401611

1641-
// Memory barrier to ensure any pending writes are visible before reading
1642-
std::atomic_thread_fence(std::memory_order_acquire);
1643-
bool result = context->doesPrimitiveDataExist(uuid, label);
1644-
fprintf(stderr, "[DEBUG-MACOS] context->doesPrimitiveDataExist() returned: %s (with memory barrier)\n", result ? "true" : "false");
1645-
1646-
return result;
16471612
} catch (const std::exception& e) {
16481613
setError(PYHELIOS_ERROR_RUNTIME, std::string("ERROR (Context::doesPrimitiveDataExist): ") + e.what());
1649-
fprintf(stderr, "[DEBUG-MACOS] Exception caught: %s\n", e.what());
16501614
return false;
16511615
} catch (...) {
16521616
setError(PYHELIOS_ERROR_UNKNOWN, "ERROR (Context::doesPrimitiveDataExist): Unknown error checking primitive data existence.");
1653-
fprintf(stderr, "[DEBUG-MACOS] Unknown exception caught\n");
16541617
return false;
16551618
}
1656-
1657-
fprintf(stderr, "[DEBUG-MACOS] Final error state: code=%d\n", getLastErrorCode());
16581619
}
16591620

16601621
void setPrimitiveDataVec3(helios::Context* context, unsigned int uuid, const char* label, float x, float y, float z) {

0 commit comments

Comments
 (0)